javascript - ExecJS::ProgramError: SyntaxError: 意外的标记:名称 <ClassName>

标签 javascript ruby-on-rails ruby precompile execjs

我创建了一个 JavaScript 类(名为 BarChart),它具有构造函数和多个初始化方法。

我执行了以下命令为生产环境预编译 Assets ,但出现错误。

用于预编译 Assets 的命令:rake assets:precompile RAILS_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)

抛出错误的 Javascript 类是这样写的:

class BarChart
{
    // code goes here
}

我在 Gemfile 中添加了 therubyracerexecjs gem。

ruby :2.2.5

Rails:3.2.2`

PS:我在 SO 中检查了几个此类问题,但没有一个问题与 JavaScript class 相关。

最佳答案

在您的 BarChart js 文件中,将所有 let 更改为 var。 然后预编译应该会成功。

关于javascript - ExecJS::ProgramError: SyntaxError: 意外的标记:名称 <ClassName>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42345548/

相关文章:

ruby-on-rails - redmine 部署在 heroku 雪松上

ruby-on-rails - 如何将应用程序/json POST 请求映射到 rails 中的参数?

ruby-on-rails - 向表 Rails 3 添加列后出现未知属性错误

javascript - 字符串比较(可能是隐藏字符问题?)

javascript - 棱镜JS : Centering Highlighted Lines Vertically

javascript - 使用javascript修改嵌套在div中的html元素

javascript - Breeze 获取实体而不是对象的集合

javascript - Rails 跟踪 Js 正在做什么

ruby-on-rails - 如何将我的 Rails 搜索表单与 Bootstrap 搜索设计连接起来?

ruby-on-rails - 等效于哈希的 .try() 以避免 "undefined method"错误?