2014-11-15 54 views
1

這可能是我錯過了一個完全明顯的解決方案的例子,但我現在已經嘗試了幾種方法,並感覺丟失了。Bower and Asset Precompilation in Rails

目前的情況是,我有一個Rails項目使用鮑爾來管理前端資產(jQuery,Angular ..你有這個想法)。我使用了bower-rails gem和「vanilla」bower.json將依賴關係寫入vendor/assets/bower_components。

我可以在開發模式下使用一切正常,因爲我沒有在那裏使用uglifier來預處理資產。但在生產模式下,某些資產(如jQuery)無法編譯。這是因爲uglifier會嘗試爲jQuery編譯和uglify源文件,而不僅僅是使用dist文件夾中的內容(也就是,你猜對了,準備發佈)。

我想要做的只是在預編譯階段只包含通過bower提供的文件中與發佈相關的文件 - 我不知道如何到達那裏。

任何幫助表示讚賞,謝謝。

回答

3

可以明確定義要在config/initializers/assets.rb預編譯什麼:

Rails.application.config.assets.precompile += %w(dist/*) 

默認情況下,預編譯的application.jsapplication.css和一些其他的東西,你可以重寫,如果你這個行爲不希望它們被預編譯。

看看Rails official guide,它解釋瞭如何使用包含資產的更加困難的規則進行預編譯。

+0

好吧,我想我可以自定義什麼是加載和寫我所需的邏輯,但是..我希望有人已經這樣做了。就目前而言,我剛剛關閉了資產預編譯功能,並且對這些資源進行了即時編譯,因此一切都很順利。 – moritz