W jednej z moich aplikacji Railsowych ExecJS nie wyświetla numerów linii dla błędów kompilacji coffeescript. Moje kompilacji komunikat o błędzie będzie wyglądać następująco:Skrypt programu ExecJS nie wyświetlający numerów wierszy dla błędów kompilacji (potok zasobów Rails)
ExecJS::RuntimeError in Referrals#new
Showing ~/MyApp/app/views/layouts/application.html.erb where line #6 raised:
SyntaxError: unexpected IDENTIFIER
(in ~/MyApp/assets/javascripts/utils.js.coffee)
Zauważ, że nie ma numer linii do źródła coffeescript (linia nr 6 jest dla pliku erb).
Na innym jednej z moich aplikacji, gdzie nadal jestem uzyskiwanie numery linii, błąd składni wygląda następująco:
ExecJS::ProgramError in Projects#show
Showing ~/OtherApp/app/views/layouts/application.html.erb where line #17 raised:
Error: Parse error on line 6: Unexpected 'STRING'
(in ~/OtherApp/app/assets/javascripts/projects.js.coffee)
Więc wydaje się, że różnica jest taka, że ExecJS::ProgramError
da mi numery linii, gdzie jako ExecJS::RuntimeError
nie będzie.
Ktoś ma pojęcie, jak odzyskać numery linii? Dlaczego moja aplikacja tworzy RuntimeErrors na kompilacji zasobów kawy, a druga daje progi programu? Sprawdziłem Railsy i wydają się pasować.
Pamiętaj, że jeśli naprawię błędy kompilacji, aplikacja działa poprawnie (np. Pliki kawy faktycznie się kompilują) - ale byłoby miło, gdyby te numery linii wskazywały mi błędy kompilacji !.
EDIT zdałem sobie sprawę, że to, czy jest to ExecJS Runtimeerror
lub ProgramError
nie wydają się znaczenia - w pierwszej aplikacji, tam nigdy nie jest dany numer linii i na sekundę, nie zawsze tak jest.
Jestem na 1.6.2 i otrzymuję ten problem. – Narfanator
@ Narfanator widziałeś moją odpowiedź? –
Tak; zajęło mi to minutę; Ustawiłem też na 1.5.0 i teraz jest dobrze. Jestem zaskoczony, że utracono funkcjonalność; to jest bardzo istotne dla rozwoju. – Narfanator