Modernizr.load を使用して特定の JS ファイルを読み込めるようにしたい -
Modernizr.load({
test : Modernizr.touch,
yep : '/assets/mobile.js',
nope : '/assets/desktop.js',
});
しかし、これが本番用にコンパイルされると、それらのパスはもう存在しません。この方法でロードを整理するにはどうすればよいですか?
Modernizr.load を使用して特定の JS ファイルを読み込めるようにしたい -
Modernizr.load({
test : Modernizr.touch,
yep : '/assets/mobile.js',
nope : '/assets/desktop.js',
});
しかし、これが本番用にコンパイルされると、それらのパスはもう存在しません。この方法でロードを整理するにはどうすればよいですか?
config.assets.precompile
これらのアセットを環境設定ファイル (config/environments/production.rb にあります)に追加する必要があります。次に例を示します。
config.assets.precompile += %w(mobile.js desktop.js)
これらのアセットは、Modernizr で参照できます。
Modernizr.load({
test : Modernizr.touch,
yep : '/assets/mobile.js',
nope : '/assets/desktop.js',
});
編集: これらのアセットがapplication.js マニフェストに含まれていないことも確認する必要があります。それらを application.js に含めると、特定の機能のないブラウザーに対して条件付きでそれらをロードするという目的が無効になります。