我正面临这个问题Uglifier::Error: Unexpected token: keyword (const). To use ES6 syntax, harmony mode must be enabled with Uglifier.new(:harmony => true).
,同时通过capistrano在生产环境中部署项目。
我遵循了这个解决方案
https://github.com/lautis/uglifier/issues/127#issuecomment-352224986
也就是说
置换config.assets.js_compressor = :uglifier
与config.assets.js_compressor = Uglifier.new(harmony: true)
但即使这样做了,我仍然面临着同样的错误。我不明白出了什么问题。我用的是uglifier (4.1.20)
版本
4条答案
按热度按时间6jjcrrmo1#
我也把答案留在这里:
在
config/environments/production.rb
中替换与
w1e3prcc2#
在Rails 6.1中,我通过以下方式解决了这个问题:
1.从
Gemfile
中删除uglifier
gem。1.删除
config/environments/production.rb
和config/environments/development.rb
中的config.assets.js_compressor
条目。参考号:https://www.mintbit.com/blog/rails-5-6-upgrade-es6-uglifier-bug
pbpqsu0x3#
Uglifier仅适用于ES5。如果你需要压缩ES6,ruby-terser是一个更好的选择。
gywdnpxw4#
升级到5.2到6.1会遇到此问题
我修复了这个问题,用 terser 替换 uglifier js_compressor
config/environments/production.rb
替换到