我希望能够使用Modernizr.load加载某些JS文件 -
Modernizr.load({
test : Modernizr.touch,
yep : '/assets/mobile.js',
nope : '/assets/desktop.js',
});
但是当为生产编译时,这些路径不再存在。如何以这种方式整理装载?
答案 0 :(得分: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清单中包含 NOT 这些资产。将它们包含在application.js中会破坏为特定功能的浏览器有条件地加载它们的目的。