rob*_*ord 53 ruby-on-rails-3.1 sprockets asset-pipeline
我一直在将应用程序转换为Rails 3.1(现在转到3.2)并在资产管道上观看Railscast.我将所有第三方jquery插件文件移动到/ vendor/assets/javascripts /目录.在我的/app/assets/javascripts/application.js中,我有以下内容:
//= require jquery
//= require jquery_ujs
//= require_tree .
//= require_self
Run Code Online (Sandbox Code Playgroud)
我意识到require_tree .调用只加载/ app/assets/javascripts /目录的树.(这是正确的吗?)包含所有 "供应商"javascripts 的最佳方式是什么?(我现在并不担心订购.)当然,我可以在/app/assets/javascripts/application.js中逐行索取.我的另一个想法是使用以下内容创建/vendor/assets/javascripts/vendor_javascripts.js:
//= require_tree .
Run Code Online (Sandbox Code Playgroud)
然后在/app/assets/javascripts/application.js中添加以下内容:
//= require vendor_javascripts
Run Code Online (Sandbox Code Playgroud)
这看起来有点笨拙.有没有更好的方法来自动包含所有"供应商"(和/或"lib")javascripts?
PS.我看到了关于index.js文件的内容,但我最终可能会得到多个名为index.js的文件,对吧?哦,我尝试重新启动我的服务器.
Dyl*_*kow 73
您可以在app/assets/javascripts/application.js文件中添加这样的内容以包含所有供应商javascripts:
//= require_tree ../../../vendor/assets/javascripts/.
Run Code Online (Sandbox Code Playgroud)
lcg*_*ida 21
我知道这是一个老问题,但你可以在vender/assets/javascript文件夹中创建一个清单文件:
#vendor/assets/javascripts/my_jquery_plugins/manifest.js
# require_tree .
Run Code Online (Sandbox Code Playgroud)
在你的application.js:
//= require my_jquery_plugins/manifest.js
Run Code Online (Sandbox Code Playgroud)
如果你正在使用Rails 4,命名manifest.js为index.js和你的application.js:
//= require my_jquery_plugins
Run Code Online (Sandbox Code Playgroud)
它比描述的相对路径更少hacky.
| 归档时间: |
|
| 查看次数: |
25978 次 |
| 最近记录: |