我最喜歡的SCSS調試功能之一是@warn和@debug指令,它們都有助於調試。但是,當我將這些文件放入Rails 3.1項目的scss文件中時,它們不會出現在標準輸出中(來自運行tail -f log/development.log)如何在Rails 3.1項目中查看SCSS @warn和@debug指令?
有誰知道是否可以啓用這些使得Sprockets/Rails不會禁用它們,並且我可以查看輸出流中的輸出。
我最喜歡的SCSS調試功能之一是@warn和@debug指令,它們都有助於調試。但是,當我將這些文件放入Rails 3.1項目的scss文件中時,它們不會出現在標準輸出中(來自運行tail -f log/development.log)如何在Rails 3.1項目中查看SCSS @warn和@debug指令?
有誰知道是否可以啓用這些使得Sprockets/Rails不會禁用它們,並且我可以查看輸出流中的輸出。
我還沒有找到如何在開發日誌中啓用它們,但可以通過使用sass --watch來實現同樣的功能。
這裏是我的application.css.scss其使用SASS @import(不鏈輪* =需要看到here爲什麼。)共享變量/混入/功能的使用大多是拉其他青菜文件:
/*
*= require_self
*= depend_on projects
*/
@import "layout.css.scss";
@import "projects.css.scss";
現在假定layout.css.scss這一變量:
$main-color: #327B31;
我可以在文件project.css.scss得到其數值
@debug "Main color is:" $main-color;
@warn "Darker: " darken($main-color, 20%);
我打開一個終端窗口,點青菜--watch的是,在其他
$ sass --watch app/assets/stylesheets/application.css.scss --stop-on-error --trace
>>> Sass is watching for changes. Press Ctrl-C to stop.
>>> Change detected to: /home/yuval/ws/books/railscasts/268-sass-basics/app/assets/stylesheets/projects.css.scss
app/assets/stylesheets/projects.css.scss:5 DEBUG: "Main color is:" #327b31
WARNING: "Darker: " #143214
on line 6 of app/assets/stylesheets/projects.css.scss
from line 16 of app/assets/stylesheets/application.css.scss
overwrite app/assets/stylesheets/application.css.css
--stop-on-error
是因爲拉失誤往往會使--watch反覆重試青菜爲主.scss文件,我不不想要。如果發生錯誤,--trace
會爲您提供回溯。
只要沒有發生錯誤,這個日誌就會在每次保存時繼續刷新。
我喜歡這種方法也是因爲它是ruby/rails neutral(它應該是,它似乎),所以適用於任何運行sass的東西。
此外,如果您在Sass頂部使用Compass,則此功能可用。
只需激活您的application.css.scss文件羅盤(或任何.scss文件):
@import "compass";
然後用``指南針watch```:
$ compass watch app/assets/stylesheets/application.css.scss --css-dir tmp/cache/
--css-dir tmp/cache/
被避免指南針手錶創建覆蓋.scss文件的.css文件。我將它們轉儲到緩存中。
若有人在這裏的Rails 5找這個,你可以簡單地添加@warn
指令將樣式表和輸出將被打印到控制檯(您必須運行rails s
)。
例如:
$main-color: #327B31;
@warn "Main color is:" $main-color;
將顯示此輸出到控制檯:
WARNING: "Main color is:" #f5f5f5
on line 2 of /path/to/your/app/assets/stylesheets/application.scss
PS:據我所知,這顯示了在控制檯中唯一的 - 沒有在日誌中。