语法错误:rails中的意外标记:punc(}):预编译

时间:2017-11-14 22:56:08

标签: ruby-on-rails uglifier

我正在尝试部署到我的登台服务器,突然间我收到以下错误

V8::Error: SyntaxError: Unexpected token: punc (})
at js_error (<eval>:3623:12167) 
at croak (<eval>:3623:22038)
at token_error (<eval>:3623:22175)
at unexpected (<eval>:3623:22263)
at <eval>:3623:23996
at <eval>:3623:22954
at <eval>:3624:3759
at parse (<eval>:3624:3999)
at parse (<eval>:3958:22)
at uglifier (<eval>:4003:13)
/var/www/fdsa/fdsa/bundle/ruby/2.3.0/gems/execjs-2.7.0/lib/execjs/ruby_racer_runtime.rb:45:in `block in call'

Tasks: TOP => assets:precompile

我已经运行了这个rails代码但是一切看起来都没问题我没有得到任何javascript文件的错误。

JS_PATH = "app/assets/javascripts/**/*.js"; 
Dir[JS_PATH].each do |file_name|
  puts "\n#{file_name}"
  puts Uglifier.compile(File.read(file_name))
end

https://stackoverflow.com/questions/12574977/rake-assetsprecompile-gives-punc-error/38228770#38228770

1 个答案:

答案 0 :(得分:0)

我得到了同样的错误并弄清楚了原因。这是因为使用旧的Angular语法格式从json中以角度查找记录,该值已弃用且不受rails 4及更高版本的支持。

不支持语法:

Json_data.find(item => item.field_name == 'abc').