Javascript ExecJS::ProgramError:语法错误:意外标记:名称<;类名>;
我创建了一个JavaScript类(名为Javascript ExecJS::ProgramError:语法错误:意外标记:名称<;类名>;,javascript,ruby-on-rails,ruby,precompile,execjs,Javascript,Ruby On Rails,Ruby,Precompile,Execjs,我创建了一个JavaScript类(名为BarChart),它具有构造函数和几个init方法 我执行了下面的命令来为生产环境预编译资产,但出现了错误 用于预编译资源的命令:rake资源:预编译RAILS\u GROUPS=assets--trace 错误回溯: rake aborted! ExecJS::ProgramError: SyntaxError: Unexpected token: name (BarChart) (line: 24472, col: 6, pos: 952834)
BarChart
),它具有构造函数和几个init方法
我执行了下面的命令来为生产环境预编译资产,但出现了错误
用于预编译资源的命令:rake资源:预编译RAILS\u GROUPS=assets--trace
错误回溯:
rake aborted!
ExecJS::ProgramError: SyntaxError: Unexpected token: name (BarChart) (line: 24472, col: 6, pos: 952834)
Error
at new JS_Parse_Error (<eval>:3623:11948)
at js_error (<eval>:3623:12167)
at croak (<eval>:3623:22038)
at token_error (<eval>:3623:22175)
at unexpected (<eval>:3623:22263)
at semicolon (<eval>:3623:22781)
at simple_statement (<eval>:3623:25959)
at <eval>:3623:23747
at <eval>:3623:22954
at <eval>:3624:3759
at Object.parse (<eval>:3624:3999)
at parse (<eval>:3958:22)
我在Gemfile中添加了therubyracer
和execjs
gem
Ruby
:2.2.5
导轨
:3.2.2`
PS:我已经在SO中检查了一些此类问题,但没有一个问题与JavaScript
类相关
在条形图js文件中,将所有let
更改为var
。
然后预编译应该会成功。我已经在
ES6
中编写了JavaScript,rails 3在ES6
代码中显示错误。在rails中使用ES6
的所有方法都不适用于rails 3。因此,我将ES6转换为ES5代码。在rails 5中,我解决了将文件从.js重命名为.js.ES6的问题。奇怪的是,我的临时部署成功了,而我的生产部署却没有成功。似乎有两个请求来解决这个问题。有人能给我解释一下封闭式问题请求的原因吗?我还没有发现与JS类相关的问题。我投票决定关闭它,因为我不理解它-我不清楚。想象自己站在一个对你的问题毫无头绪的人的位置上,用一种人们能够理解的方式描述它。描述问题越好(不要与“越多”混淆),获得正确答案的机会就越高。请查看此链接。希望这对你有帮助@科德尔ღ谢谢你的回答,但我已经检查过了,这并不能解决我的错误。@AndreyDeineko我已经更新了问题,请检查。顺便说一句,感谢您提供结束问题的原因。rails仍然使用es5:(不,您可以对rails 5及其后使用ES(6/7)语法。我不能,例如使用let
将不起作用。rails 6.0.0.1。ExecJS
编译器。
class BarChart
{
// code goes here
}