33

我正面临这个问题

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

2 回答 2

74

也在这里留下答案:

config/environments/production.rb替换

config.assets.js_compressor = :uglifier

config.assets.js_compressor = Uglifier.new(harmony: true)
于 2019-09-15T10:25:41.213 回答
0

Uglifier仅适用于 ES5。如果你需要压缩 ES6,ruby-terser是一个更好的选择。

于 2021-08-17T10:19:50.693 回答