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 回答