😺
【Rails】 Uglifier::Error: Unexpected token デプロイ失敗
概要
- RailsアプリをAWS Elastic Beanstalkを使用しデプロイ。
- 以下のエラーでデプロイ失敗
rake aborted! Uglifier::Error: Unexpected token: keyword (const). To use ES6 syntax, harmony mode must be enabled with Uglifier.new(:harmony => true).
訳:ES6構文を使用するには、Uglifier.new(:harmony => true)でハーモニーモードを有効にする必要があります。
- Uglifier : JavaScriptの圧縮をしてくれるgem。Railsにデフォルトで組み込まれているが、ES5までしか対応していない。
解決策
- ES6を使用しない
- ES6の構文を使用する場合、Uglifier.new(:harmony => true)と書き換える
config/environments/production.rb
config.assets.js_compressor = :uglifier # 変更前
↓
config.assets.js_compressor = Uglifier.new(harmony: true) # 変更後
uglifierを使用している環境全て書き変えるのを忘れずに。
僕はstagingだけ書き変えて、productionの変更を忘れていて怒られました。笑
Discussion