技術系ブログ

とにかく小ネタで

【エラー解決】Uglifier::Error:To use ES6 syntax, harmony mode must be enabled with Uglifier.new(:harmony => true).

awsへデプロイしたら、productionのlogにタイトルのようなエラーが出たので残しておきます。

解決方法

#config/environments/production.rb

- config.assets.js_compressor = :uglifier
+ config.assets.js_compressor = Uglifier.new(harmony: true)

です。
参考:Rails で ES6 のコンパイルが失敗する場合 - 約束の地   

uglifier の ES6部分におけるエラー [Rails] - ハッキングバカ  

Uglifierとは

jsのコンプレッサーらしいです。ES5ではそのまま使えますが、ES6も含まれる文がある場合は、
上記のようなコードを追加することで、サポートをするらしいです。
GitHub - lautis/uglifier: Ruby wrapper for UglifyJS JavaScript compressor.