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
色々とオプションがあるが、ほかはよくわからん。