我有一個目錄projName/vendor/assets/bootstrap/css/
我公司在生產模式。 production.rb包含:config.assets.precompile << /(^[^_\/]|\/[^_])[^\/]*$/
當我運行耙資產:預編譯 我得到 projName/public/assets/css/
但我想projName/public/assets/bootstrap/css/
我不明白爲什麼引導目錄是不存在的。 實際上,供應商/資產和應用/資產下的所有頂級目錄均缺失public assets/
軌資產流水線生產預編譯
回答
該正則表達式的含義是什麼?如果你想預編譯所有東西,試試這個。
config.assets.precompile = ['*.js', '*.css']
這包括咖啡,sass,sccs,slim,haml等嗎? – ahnbizcad 2014-09-04 14:31:39
編譯的資產被寫入config.assets.prefix
中指定的位置。默認情況下,這是public/assets
目錄。
要理解這一點,你必須先了解什麼是預編譯並執行。讓我來解釋
當您運行(rake任務)
rake assets:precompile
它會在您的應用程序文件夾內public
文件夾,將編譯你的所有資產清單(即你的application.css
和application.js
)
這究竟發生了什麼? - > Rails捆綁了一個rake任務,它將編譯所有這些。這個rake任務就是上面所顯示的。
編譯資產被寫入到config.assets.prefix
指定的位置。默認情況下,這是public/assets
目錄。
編譯文件的默認匹配包括的application.js,application.css和所有非JS/CSS文件(這將自動包括所有的圖像資產)從應用程序/文件夾的資產包括你的寶石。
而那正是該正則表達式的手段(包括在您的應用程序/ assets文件夾的所有內容),也可以明確地提供它,如在回答以上。
希望這有助於。
這裏有一些鏈接,供您參考
http://guides.rubyonrails.org/asset_pipeline.html#precompiling-assets
http://dennisreimann.de/blog/precompiling-rails-assets-for-development/
其實,如果你想預編譯的一切,試試這個:
def precompile?(path)
%w(app lib vendor).each do |asset_root|
assets_path = Rails.root.join(asset_root, 'assets').to_path
return true if path.starts_with?(assets_path)
end
false
end
# Precompile all assets under app/assets (unless they start with _)
Rails.application.config.assets.precompile << proc do |name, path|
starts_with_underscore = name.split('/').last.starts_with?('_')
unless starts_with_underscore
path = Rails.application.assets.resolve(name).to_path unless path # Rails 4 passes path; Rails 3 doesn't
precompile?(path)
end
end
(基於code in the Rails Guide。 )
- 1. Rails:生產資產:預編譯錯誤
- 2. 導軌資產沒有在生產中預編譯
- 3. 資產:預編譯錯誤軌道
- 4. 預編譯問題導軌資產
- 5. 導軌資產預編譯CSS訂單
- 6. Heroku的軌道上資產預編譯
- 7. 資產預編譯
- 8. 無法預編譯資產
- 9. Rails 3.1資產預編譯
- 10. Rails 3.2資產:預編譯
- 11. Capistrano編譯資產錯誤 - 資產:預編譯:nondigest?
- 12. 編譯生產資產失敗
- 13. 資產預編譯後的Rails 3.1 javascript停止工作;生產
- 14. 生產中的動態預編譯資產
- 15. rake資產:預編譯嘗試連接到生產數據庫?
- 16. 資產流水線訂單問題
- 17. 資產管道/預編譯的資產的任務
- 18. Rails資產:僅預編譯一項資產?
- 19. Capistrano預編譯資產顯示加載「部署/資產」錯誤
- 20. 軌道3 MongoDB的資產預編譯錯誤:
- 21. 診斷導軌應用程序資產預編譯錯誤
- 22. Heroku的預編譯的資產失敗的軌道4應用
- 23. 資產預編譯工作不
- 24. 資產:預編譯棧層次太深
- 25. ActiveAdmin資產預編譯錯誤
- 26. 預編譯的資產(manifest.yml)在Heroku
- 27. 的Rails:資產預編譯失敗
- 28. 鏈輪 - 預編譯獨立資產
- 29. Rails的3.2 - 不能預編譯資產
- 30. Heroku預編譯資產沒有結果
究竟我們你希望與那個正則表達式匹配嗎? – PinnyM 2013-05-13 21:13:30
你是否試圖讓你的css中包含twitter引導程序。如果是這樣,只需在您的視圖使用的scss文件頂部添加「@import」bootstrap「;」。 – halmeetdave 2013-05-13 21:17:45