2012-02-08 46 views
4

每次我拉代碼到我的倉庫進行更改JS或CSS文件之後,我運行以下命令:如何加快Rails 3+中的資產預編譯?

rake assets:clean 
rake assets:precompile 

我有資產的相當多,所以這個過程總是需要至少一個分鐘。有什麼辦法讓它變得更快?例如,如果我只改變CSS,是否有辦法告訴它只關注CSS文件,而不打擾清理和預編譯JS?

編輯:哎呀,我應該指出這是生產。我知道我不需要預編譯開發資源:)

回答

3

我假設你正在運行Rails> 3.1。

根本不運行rake任務。 Rails開發模式不需要預編譯資源。當有變化時,Rails會自動編譯資源,否則它不會。

如果您正在尋找性能,同時在發展服務的資產,你可以看看寶石如https://github.com/wavii/rails-dev-tweaks

+0

剛剛編輯我的問題,指定我試圖加快* production *的資產預編譯。儘管如此,感謝您的鏈接,在開發環境中進行編碼時看起來會很有幫助。 – NudeCanalTroll 2012-02-08 23:49:56

+0

什麼時候在部署時或第一次請求提供時編譯資產?無論哪種情況都會很慢。大多數受編譯時間困擾的人通常會在開發機器中編譯資源,並將編譯資源推送到生產服務器中作爲快捷方式。 – 2012-02-08 23:55:27

+0

我在部署後立即編譯。我假設如果我在本地進行編譯,它會在服務器上慢速編譯廣告? – NudeCanalTroll 2012-02-09 00:00:38

0

這一個附加不故作答案。

Windows中的進程監視器顯示ruby.exe在執行資源時進行循環:預編譯,並且在每個循環中它會一次又一次地查詢所有安裝的gems。

Rails 3.2.1