rails assetsのコンプレッサにオプションを渡す

rake assets:precompileすると、javascriptがより短い書きかたへと圧縮される。

素晴らしいことに、圧縮するときに変数や関数の名前を「a」とか「b」などのより短い名前に書き換えてしまうらしい。
でもこれだと、圧縮後のjavascriptの関数を呼び出して使いたい!ってときに困ってしまう・・。

この圧縮するプログラムをコンプレッサと言うらしいんだが、実はコンプレッサはrailsのconfigで変更することができる。
https://guides.rubyonrails.org/asset_pipeline.html

# config/environments/*.rb
config.assets.js_compressor = :uglifier

さらにさらに、このコンプレッサにオプションを渡すこともできる。
コンプレッサのインスタンスを作成してしまおう。

# config/environments/*.rb
config.assets.js_compressor = Uglifier.new(:mangle => false)

上記の例だと、mangle(圧縮時に変数の名前を変える)をfalseにしている。

Uglifierの他のオプションはgithub参照
https://github.com/lautis/uglifier

色々とオプションがあるが、ほかはよくわからん。

タイトルとURLをコピーしました