(我是新既導軌等,這樣的藉口,如果我不這樣做是正確的)如何有效地組織供應商CSS和JS在軌資產togheter文件
我試圖適應定期第三-party web模板在我的rails 4應用程序中。我有一個廠商文件夾與其他文件和子文件夾像bootstrap.js,NIVO滑塊和同位素同時包含.css和.js文件。
所以我感動了所有文件和子文件夾vendor/assets
並列入我的application.js//= require_tree ../../../vendor/assets/
,建議here。所以,我的application.js看起來像
//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require turbolinks
//= require_tree ../../../vendor/assets/
//= require_tree .
在我佈局文件:
<%=stylesheet_link_tag "application.css" -%>
<%=javascript_include_tag "application" -%>
當我執行它在我的服務器我得到鏈輪:: FileOutsidePaths例外:
Showing /home/valle/RoR/grifo/app/views/layouts/application.html.erb where line #25 raised: /home/valle/RoR/grifo/vendor/assets/bootstrap.js isn't in paths: /home/valle/RoR/grifo/app/assets/images, /home/valle/RoR/grifo/app/assets/javascripts, /home/valle/RoR/grifo/app/assets/stylesheets, /home/valle/RoR/grifo/lib/assets/circle-flip-slideshow, /home/valle/RoR/grifo/lib/assets/isotope, /home/valle/RoR/grifo/lib/assets/javascripts, /home/valle/RoR/grifo/lib/assets/jflickrfeed, /home/valle/RoR/grifo/lib/assets/magnific-popup, /home/valle/RoR/grifo/lib/assets/mediaelement, /home/valle/RoR/grifo/lib/assets/nivo-slider, /home/valle/RoR/grifo/lib/assets/owl-carousel, /home/valle/RoR/grifo/lib/assets/rs-plugin, /home/valle/RoR/grifo/lib/assets/stylesheets, /home/valle/RoR/grifo/lib/assets/twitterjs, /home/valle/.rvm/gems/ruby-1.9.3-p392/gems/modernizr-rails-2.7.1/vendor/assets/javascripts, /home/valle/.rvm/gems/ruby-1.9.3-p392/gems/turbolinks-2.2.2/lib/assets/javascripts, /home/valle/.rvm/gems/ruby-1.9.3-p392/gems/jquery-rails-3.1.0/vendor/assets/javascripts, /home/valle/.rvm/gems/ruby-1.9.3-p392/gems/coffee-rails-4.0.1/lib/assets/javascripts, /home/valle/.rvm/gems/ruby-1.9.3-p392/bundler/gems/twitter-bootstrap-rails-663760e67b80/app/assets/fonts, /home/valle/.rvm/gems/ruby-1.9.3-p392/bundler/gems/twitter-bootstrap-rails-663760e67b80/app/assets/images, /home/valle/.rvm/gems/ruby-1.9.3-p392/bundler/gems/twitter-bootstrap-rails-663760e67b80/app/assets/javascripts, /home/valle/.rvm/gems/ruby-1.9.3-p392/bundler/gems/twitter-bootstrap-rails-663760e67b80/app/assets/stylesheets, /home/valle/.rvm/gems/ruby-1.9.3-p392/bundler/gems/twitter-bootstrap-rails-663760e67b80/vendor/assets/stylesheets
我以爲Sprockets會把所有的js或css文件在所有資產文件夾中,預編譯,統一和縮小它們,但現在看來我需要指定路徑。我怎麼解決它? 此外,它是一個問題沒有在供應商分開的JavaScript和CSS文件夾?
它工作。 – Jenorish
感謝您的回答,併爲最近的回覆感到抱歉。它似乎像一個魅力。 儘管如此,供應商文件夾確實存在(至少在rails 4.1.0中),我不明白爲什麼它會從Rails.application.config.assets.paths中刪除。我不應該使用'vendor/folders'嗎?那麼使用我的第三方文件的正確選擇是什麼? –
由於版本4供應商和lib目錄默認情況下不包含在資產管道中。如果您想要,那麼您應該擴展資產路徑或使用'app/assets'文件夾。如果我的答案有幫助,請接受我的答案。 – Jenorish