在我的Rails应用程序之一,ExecJS没有显示对CoffeeScript的编译错误的行号。 我的编译错误信息会是这样的:
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
似乎并不重要-在第一个应用程序,有没有给一个行号,并在第二,总是有。