在我的一個Rails應用程序中,ExecJS沒有顯示coffeescript編譯錯誤的行號。我的編譯錯誤信息會是這樣的:ExecJS咖啡腳本沒有顯示編譯錯誤的行號(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)
注意,有一個爲咖啡腳本源沒有行號(6號線是爲ERB文件)。
在我的應用程序,在那裏我仍然得到行號的另一個,語法錯誤是這樣的:
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)
因此,似乎不同的是,ExecJS::ProgramError
會給我行號,如ExecJS::RuntimeError
不會。
任何人都有任何想法如何獲取行號回來?爲什麼我的應用程序在咖啡資產編譯中創建RuntimeErrors,另一個是給ProgramErrors?我檢查過Rails,它們似乎匹配。
請注意,如果我修復了編譯錯誤,應用程序運行良好(例如,咖啡文件實際上已經編譯完成) - 但是,如果讓這些行數指向編譯錯誤,那將會很好。
編輯 我意識到,無論它是一個ExecJS Runtimeerror
或ProgramError
似乎並不重要 - 在第一個應用程序,有沒有給一個行號,並在第二,總是有。
我在1.6.2上,我得到這個問題。 – Narfanator 2013-06-02 03:21:49
@Narfanator你看到我的答案了嗎? – 2013-06-02 04:28:28
是的;它花了我一分鐘;我把我的設置爲1.5.0,現在很好。我很驚訝功能丟失了;它是開發的核心。 – Narfanator 2013-06-02 08:38:18