我已經看到某些Rails CMSes(如Radiant)擁有基本上在訪問頁面時編譯Sass的插件。有沒有辦法在普通的導軌應用程序中做到這一點?是否這樣做的表現?基本上,我正在尋找一種方法來刪除運行Compass編譯我的樣式表的額外步驟。Sass - 它可以在運行時編譯嗎?
1
A
回答
1
我沒有專門使用指南針,但看起來像有一個生產標誌,因此文件被編譯 - 我無法想象他們會構建它來重新編譯生產中的每個請求,Radiant編譯它的css應用程序啓動,如果然後你提交那些生成的CSS文件,它不會嘗試再次生成它們。
0
按請求編譯?我認爲這可能會對業績產生影響。在這種情況下,你應該使用緩存策略。只有它不在緩存中時才編譯樣式表。
您可以創建一個輔助方法setup_stylesheet將負責設置CSS樣式表。您在應用程序佈局上調用此方法。
setup_stylesheet將檢查css樣式表是否在緩存上,如果有,那就使用它。如果不是,則編譯它。
另一種方法:
你可以建立一個初始化器將調用應用程序啓動時,指南針編譯你的SASS的樣式表。
1
薩斯和指南針自動使用Rails集成。如果您使用的是Rails 3,則只需將gem "haml"
添加到您的Gemfile中,並且public/stylesheets/sass
中的所有.sass
和.scss
文件將編譯爲.css
public/stylesheets
中的文件。
0
- 這樣做的性能如何?
在運行時編譯時會出現大規模性能問題。
由於Nex3(作者Sass gem)在another forum上指出,因此不需要運行compass watch
。
我強烈建議將以下內容放入production.rb:Sass::Plugin.options[:never_update] = true
- 如果您使用Heroku,這一點尤其重要。 (你也可以做到這一點在機架的文件,在這裏你還可以指定other options
嗯,祝你好運
相關問題
- 1. 在運行時和編譯時ASP.NET sass/scss編譯?
- 2. 我可以vb.net運行在編譯時
- 3. 在編譯時可以在SharpDevelop中運行ILMerge嗎?
- 4. 我可以通過編譯來改進python運行時嗎?
- 5. 你可以在Windows上運行並編譯swift代碼嗎?
- 6. 可以編譯一個groovy代碼在JRE中運行嗎?
- 7. 在編譯Xcode之前,可以運行python腳本嗎?
- 8. 在運行時重新編譯Rails sass和css資產
- 9. 如何在運行時編譯BundleTransformer SCSS和SASS
- 10. Sass的默認編譯器可以自動修復嗎?
- 11. 可以將Sass或Less配置爲只編譯某些類嗎?
- 12. SASS/Compass可以將foo.scss編譯爲foo.min.css和foo.dbg.css嗎?
- 13. 我可以在Delphi中隨時編譯代碼並執行它嗎?
- 14. 可以在運行時以編程方式設置「android:layout_below」嗎?
- 15. Scala.js可以自行編譯嗎?
- 16. makefile來運行它編譯
- 17. 我可以在我的Visual Studio編譯開始時運行EXE嗎?
- 18. 我們可以在運行時使用dcu(Delphi編譯的單元)嗎?
- 19. #undef可以減少編譯時間嗎?
- 20. 在編譯時運行PublicResXFileCodeGenerator
- 21. 是否可以編譯可以在Linux窗口中運行的本機可執行文件的跨平臺編譯器?它能存在嗎?
- 22. 可以編譯Scala程序但不能運行它們
- 23. ,可執行編譯在編譯時
- 24. 在運行時編譯運行代碼
- 25. C可以運行編譯的Python代碼(.pyc文件)嗎?
- 26. Moblin可以運行(並編譯)Python腳本嗎?
- 27. java可以運行一個編譯好的scala代碼嗎?
- 28. 是否可以在運行時禁用條件編譯符號?
- 29. 是否可以調試在運行時編譯的代碼?
- 30. node-sass cli在使用時沒有在初始運行時編譯--watch
我很好奇,如何這將是有益的,它肯定會增加更多的重量頁面請求?(如果你有一個巨大的精靈,會發生什麼?) - 你可以使用Guard或Grunt來監視功能,然後部署css – 2015-06-17 21:24:38