Rails何時將Coffeescript資源編譯爲JavaScript?它是按需還是在啓動時發生?Rails何時編譯CoffeeScript?
17
A
回答
22
當對包含CoffeeScript資源的視圖發出請求時,CoffeeScript會按需編譯爲JavaScript。
但是,您可以使用以下具有的CoffeeScript編譯爲JavaScript的時間提前:
rake assets:precompile
對Rails的資產管線的詳細信息請參見本link。
從鏈接:
對資產使用的文件擴展名確定哪些應用 預處理。當使用默認的Rails gemset生成控制器或腳手架 時,CoffeeScript文件和SCSS文件是 而不是常規的JavaScript和CSS文件。之前使用的示例 是名爲「projects」的控制器,該控制器生成了應用/ assets/javascripts/projects.js.coffee和 app/assets/stylesheets/projects.css.scss文件。
當這些文件被請求時,它們由咖啡腳本和sass-rails gems提供的處理器 處理,然後分別作爲JavaScript和CSS發回 到瀏覽器。
...
資產在服務器 啓動後,編譯和緩存在第一次請求。鏈接設置一個必須重新驗證的緩存控制HTTP標頭 以減少後續請求的請求開銷 - 在這些 瀏覽器中獲得304(未修改)響應。
如果任何在清單中的文件已請求之間變化, 服務器用新編譯的文件進行響應。
...
Rails有一個rake任務來編譯資產捆綁體現在管道輸送到磁盤 和其他文件。
編譯資產被寫入到 config.assets.prefix指定的位置。默認設置將使用公共/資產 目錄。
您必須使用此任務無論是在部署過程中或在本地,如果你 沒有到生產文件系統的寫訪問。
rake任務是:
束EXEC耙資產:預編譯
UPDATE: 對於那些有興趣在發展預編譯的資產,首先設置RAILS_ENV變量的發展(從here):
RAILS_ENV=development bundle exec rake assets:precompile
相關問題
- 1. Rails 4 Long Coffeescript編譯開發時間
- 2. 在保存時編譯CoffeeScript?
- 3. Rails的預編譯錯誤的CoffeeScript
- 4. Ruby on Rails中的Coffeescript編譯錯誤
- 5. 預編譯coffeescript文件(Rails 4)
- 6. 如何:在Aptana編譯Coffeescript
- 7. CoffeeScript編譯器API
- 8. 編譯Coffeescript時不要添加var
- 9. 如何在Rails 3.2.1中查看已編譯的coffeescript?
- 10. 在eval中編譯coffeescript
- 11. CoffeeScript編譯:意外的IF
- 12. Aptana 3自動編譯coffeescript?
- 13. 編譯CoffeeScript中有Cakefile
- 14. 如何獲得coffeescript在Heroku上編譯?
- 15. Coffeescript如何使用sourcemap進行編譯?
- 16. 如何在Clojure中自動編譯coffeescript?
- 17. 如何在Jakefile中編譯CoffeeScript?
- 18. 如何使用Node.js自動編譯.coffeescript?
- 19. 如何將CoffeeScript AST編譯爲CoffeeScript而不是JavaScript?
- 20. 編譯CoffeeScript時如何保留目錄結構?
- 21. 如何同時觀察和編譯多個coffeescript文件?
- 22. 使用coffeescripted-sbt在多項目編譯中編譯coffeescript
- 23. 編譯嵌入式CoffeeScript而不安裝編譯器?
- 24. coffeescript:爲什麼「str」.replace(// g,「」)給coffeescript編譯錯誤?
- 25. Can Haxe能編譯成Coffeescript嗎?
- 26. 在SVN上編譯CoffeeScript預提交
- 27. Middleman服務器沒有編譯coffeescript
- 28. CoffeeScript的函數編譯問題
- 29. 編譯和連接的CoffeeScript文件
- 30. ExpressJS - 前端自動編譯CoffeeScript
這是關於生產環境的一切嗎?關於開發環境呢? – Jaseem
已更新,以解決開發環境。 –