簡體   English   中英

Rails 4:在服務器上而不在開發計算機上預編譯資產時,Sass引發SyntaxError

[英]Rails 4: Sass raises SyntaxError when precompiling assets on server but not on development computer

這是在服務器上運行bundle exec rake assets:precompile時遇到的錯誤:

Sass::SyntaxError: Invalid CSS after "...5,255,255,0.9);": expected "}", was "!important" (in /var/www/deploy/project/releases/20141230211654/app/assets/stylesheets/application.css) (sass):15782

在服務器(Ubuntu)上預編譯資產也花費不合理的長時間。

另一方面,當我在計算機(Debian)上運行相同的rake任務時,Sass不會抱怨,而預編譯僅需幾秒鍾。

為什么是這樣? 我知道CSS中存在語法錯誤,但是為什么我自己的Rails項目實例在服務器運行時卻不關心不良的CSS語法?

所不同的是,我沒有將機器上的環境設置為生產環境。

所以我應該一直在跑步:

RAILS_ENV=production bundle exec rake assets:precompile

我推測,在開發中,Rails只是將未縮小的javascript和css串聯在一起,而生產環境使用uglifier&sass進行實際的編譯,因此css的每個部分都會被解析,並且會引發錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM