Rails asset pipeline: Standard way for including all /vendor/assets/javascripts/?

我是研究僧i 提交于 2019-11-26 22:38:05

问题


I've been transitioning an app to Rails 3.1 (and now on to 3.2) and watched the Railscast on the asset pipeline. I moved all of my third-party jquery plugin files to the /vendor/assets/javascripts/ directory. In my /app/assets/javascripts/application.js I have the following:

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

I realized the require_tree . call only loads the tree for the /app/assets/javascripts/ directory. (Is that correct?) What's the best way to include all the "vendor" javascripts? (I'm not worried about ordering at this point.) Of course I could require them line by line in /app/assets/javascripts/application.js. My other thought was to create /vendor/assets/javascripts/vendor_javascripts.js with the following:

//= require_tree .

And then in /app/assets/javascripts/application.js add the following:

//= require vendor_javascripts

This seems a little clunky though. Is there a better way to automatically include all the "vendor" (and/or "lib") javascripts?

PS. I saw this about index.js files, but I would potentially end up with multiple files named index.js, right? Oh, and I tried restarting my server throughout.


回答1:


You can add something like this in your app/assets/javascripts/application.js file to include all the vendor javascripts:

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



回答2:


I know it's an old question, but you can create a manifest file on the vender/assets/javascript folder:

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

And in you application.js:

 //= require my_jquery_plugins/manifest.js

If you're using Rails 4, name the manifest.js as index.js and in your application.js:

//= require my_jquery_plugins

It's less hacky than relative path described.



来源:https://stackoverflow.com/questions/9006823/rails-asset-pipeline-standard-way-for-including-all-vendor-assets-javascripts

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!