Rails5 + vue.jsなアプリでassets:precompile
した時のエラー対処法を記載する
- エラー内容
Uglifier::Error: Unexpected token: string (controllers). To use ES6 syntax, harmony mode must be enabled with Uglifier.new(:harmony => true).
原因
公式READMEに大々的に記載されている通り、デフォルトではES6構文に対応していないためコンパイル時にエラーが出ている
対処法
Uglifier
を以下のようオプション付きで使うようにする
config/environments/production.rb
デフォルトの設定を
config.assets.js_compressor = :uglifier
以下に変更する
config.assets.js_compressor = Uglifier.new(harmony: true)
(参考)Uglifierとは
UglifyJSというJavaScriptのコード軽量化(※)ライブラリをRubyで扱えるようにするGem。
※ 改行、空白、コメントなどが取り除かれる