我更喜歡而不是以開發模式連接JavaScript文件,但將它們作爲單個文件提供。所以我配置:如何避免以開發模式提供預編譯資源?
development.rb:
config.assets.compress = false
config.assets.debug = true
config.assets.compile = true
在我的/應用/資產/ JavaScript的目錄,我有:
- reviews.js
- 評論/
- foo.js
- bar.js 個
reviews.js:
//= require jquery
//= require jquery_ujs
//= require_tree ./reviews
我包括JavaScript的在我的佈局使用<%= javascript_include_tag "reviews" %>
。生成的頁面單獨正確地引用這三個腳本,並且reviews.js
基本上是空的。到現在爲止還挺好。
現在,當我使用rake assets:precompile
預編譯我的資產進行生產時,三個JavaScript文件連接成reviews.js
。這對於生產來說都很好,但現在,處於開發模式,連接的reviews.js
服務於另外到兩個單獨的文件。
當然,這會導致各種討厭的錯誤發展,因爲現在,foo.js
和bar.js
的內容被提供兩次,其中一個在reviews.js
的潛在舊版本中。
我如何確保Rails在開發模式下不使用預編譯資產?
謝謝你的建議,我本地刪除編譯後的文件和配置已經他們混帳推到Heroku的編譯。 –
這是我需要的答案。確實,在我開發過程中,我並不需要這些預編譯資產,但是當我正在學習如何配置資產管道時,我確實需要他們在本地測試我的生產模式,而不是等待Heroku上的驚喜!現在我要改變目錄名(或把它們放到一個git分支上),但仍然是一個恥辱,這是我需要考慮的另一件事,而不是在開發環境中配置選項來說「忽略公共/資產目錄「,這是我所希望的。 – Phantomwhale
您可能不得不忘記清除瀏覽器緩存,因此瀏覽器不會使用在rm -rf'd public/assets –