gpt4 book ai didi

ruby-on-rails-3.1 - 如何在Rails 3.1项目中查看SCSS @warn和@debug指令?

转载 作者:行者123 更新时间:2023-12-04 04:07:19 25 4
gpt4 key购买 nike

我最喜欢的SCSS调试功能之一是@warn和@debug指令,它们均有助于调试。但是,当我将其中一个放置在Rails 3.1项目的scss文件中时,它们不会出现在stdout中(通过运行tail -f log/development.log)

有谁知道是否有可能启用这些功能,从而使Sprockets/Rails不会禁用它们,并且我可以在输出流中查看输出。

最佳答案

我还没有找到如何在开发日志中启用它们,但是可以通过使用sass --watch实现相同的功能。

这是我的application.css.scss,主要使用sass @import提取其他sass文件(不是链轮* = require。请参阅here为什么。)获取共享变量/mixins/函数的用法:

/*
*= 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%);

我打开一个终端窗口,然后将sass --watch指向主.scss文件中的其他文件

$ 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是因为错误容易使sass --watch反复尝试,这是我不希望的。如果发生错误, --trace会给您回溯。

只要没有发生错误,此日志将在每次保存时继续刷新。

我也喜欢这种方法,因为它是 ruby /中性的(看起来应该是中性的),因此可以与任何运行的sass一起使用。

另外,如果您在Sass上使用Compass,这也可以使用。

只需在application.css.scss文件(或任何.scss文件)中激活指南针:
@import "compass";

然后使用``compass watch''`:

$ compass watch app/assets/stylesheets/application.css.scss  --css-dir tmp/cache/
--css-dir tmp/cache/是为了避免指南针监视创建覆盖.scss文件的.css文件。我将它们转储到缓存中。

关于ruby-on-rails-3.1 - 如何在Rails 3.1项目中查看SCSS @warn和@debug指令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8359163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com