Rails资产管道:包含all / vendor / assets / javascripts /的标准方式?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

我一直在将应用程序转换到Rails 3.1(现在转到3.2),并观看了资产管道上的Railscast。我将所有第三方jquery插件文件移至/ vendor / assets / javascripts /目录。在我的/app/assets/javascripts/application.js中,我有以下内容:

//= require jquery
//= require jquery_ujs
//= require_tree .
//= require_self

我意识到require_tree .调用只会加载/ app / assets / javascripts /目录的树。(这是否正确?)包含所有 “供应商”JavaScripts 的最佳方式是什么?(我并不担心在这一点上订购。)当然,我可以在/app/assets/javascripts/application.js中逐行要求它们。我的另一个想法是创建/vendor/assets/javascripts/vendor_javascripts.js与以下内容:

//= require_tree .

然后在/app/assets/javascripts/application.js中添加以下内容:

//= require vendor_javascripts

这看起来有点笨重。是否有更好的方法来自动包含所有“供应商”(和/或“lib”)javascripts?

PS。我看到了关于index.js文件的这一点,但我最终可能会得到多个名为index.js的文件,对吧?哦,我试着重新启动我的服务器。

提问于
用户回答回答于

您可以在app/assets/javascripts/application.js文件中添加这样的内容来包含所有供应商的javascripts:

//= require_tree ../../../vendor/assets/javascripts/.
用户回答回答于

我知道这是一个老问题,但您可以在供应商/ assets / javascript文件夹中创建清单文件:

 #vendor/assets/javascripts/my_jquery_plugins/manifest.js
 # require_tree .

而在你的application.js中:

 //= require my_jquery_plugins/manifest.js

如果你正在使用Rails 4,命名manifest.jsindex.js和你的application.js

//= require my_jquery_plugins

这比描述的相对路径更简陋。

扫码关注云+社区