0

Modernizr.load を使用して特定の JS ファイルを読み込めるようにしたい -

 Modernizr.load({
  test : Modernizr.touch,
  yep  : '/assets/mobile.js',
  nope : '/assets/desktop.js',
});

しかし、これが本番用にコンパイルされると、それらのパスはもう存在しません。この方法でロードを整理するにはどうすればよいですか?

4

1 に答える 1

2

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 に含めると、特定の機能のないブラウザーに対して条件付きでそれらをロードするという目的が無効になります。

于 2013-03-25T23:15:08.813 に答える