Ruby on rails 3.1 Rails资产管道:包含所有/vendor/assets/javascripts/的标准方式?

Ruby on rails 3.1 Rails资产管道:包含所有/vendor/assets/javascripts/的标准方式?,ruby-on-rails-3.1,asset-pipeline,sprockets,Ruby On Rails 3.1,Asset Pipeline,Sprockets,我一直在将一个应用程序转换到Rails 3.1(现在是3.2),并观看了该应用程序。我将所有第三方jquery插件文件移动到/vendor/assets/javascripts/目录。在my/app/assets/javascripts/application.js中,我有以下内容: //= require jquery //= require jquery_ujs //= require_tree . //= require_self //= require_tree . //= requ

我一直在将一个应用程序转换到Rails 3.1(现在是3.2),并观看了该应用程序。我将所有第三方jquery插件文件移动到/vendor/assets/javascripts/目录。在my/app/assets/javascripts/application.js中,我有以下内容:

//= require jquery
//= require jquery_ujs
//= require_tree .
//= require_self
//= require_tree .
//= require vendor_javascripts
我实现了
require\u树。
call只加载/app/assets/javascripts/目录的树。(正确吗?)包含所有“供应商”Java脚本的最佳方式是什么?(我现在不担心订购。)当然,我可以在/app/assets/javascripts/application.js中逐行要求它们。我的另一个想法是使用以下内容创建/vendor/assets/javascripts/vendor\u javascripts.js:

//= require jquery
//= require jquery_ujs
//= require_tree .
//= require_self
//= require_tree .
//= require vendor_javascripts
然后在/app/assets/javascripts/application.js中添加以下内容:

//= require jquery
//= require jquery_ujs
//= require_tree .
//= require_self
//= require_tree .
//= require vendor_javascripts
这看起来有点笨重。是否有更好的方法自动包含所有“供应商”(和/或“lib”)Java脚本


顺便说一句,我看到了,但我最终可能会得到多个名为index.js的文件,对吗?哦,我一直尝试重新启动服务器。

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

//= require_tree ../../../vendor/assets/javascripts/.

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

 #vendor/assets/javascripts/my_jquery_plugins/manifest.js
 # require_tree .
在application.js中:

 //= require my_jquery_plugins/manifest.js
如果您使用的是Rails 4,请将
manifest.js
命名为
index.js
,并在
应用程序.js
中:

//= require my_jquery_plugins

它没有描述的相对路径那么粗糙

忘记了所有相关路径的事情:)谢谢,非常好!实际上,我认为OP建议的方法没有那么笨重。我建议只在
app/assets
下添加一个
vendor
文件夹。
vendor/assets
这件事似乎没有必要。我倾向于同意,但Rails为新应用程序提供的默认布局为您提供了
vendor/assets
,因此我认为很多人都会努力做到这一点:/