LoginSignup
0
0

RailsのUglifierによるアセットコンパイルエラーの解決法

Last updated at Posted at 2023-05-30

概要

HerokuにRailsアプリをデプロイしようとした際に、アセットプリコンパイルでエラーが発生しました。logを確認したところ、Uglifierというgemが原因でエラーが発生したことがわかったので、解決法を記述致します。

エラーの原因

Uglifierは、JavaScriptを最小化するためのRubyライブラリです。しかし、UglifierはES6のJavaScriptを完全にはサポートしていないため、ES6のシンタックスを含むJavaScriptファイルがあるとエラーが発生します。

解決策: UglifierからTerserへの切り替え

解決策はUglifierの代わりにTerserというgemを使用することで、この問題を解決致しました。
TerserはES6のシンタックスをサポートしています。

1. terserを追加

Gemfileからuglifierを削除し、代わりにterserを追加します。

gem 'terser'

2. production.rbの中身を変更

次にconfig/environments/production.rbの以下の部分を変更。

production.rb
config.assets.js_compressor = :uglifier

上記を下記のように変更します。

production.rb
config.assets.js_compressor = :terser

3. bundle installを実行

最後に、bundle installを実行して、変更を反映させます。
これで、ES6のシンタックスを含むJavaScriptファイルでもアセットプリコンパイルエラーが発生しなくなるはずです。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0