Sass watch 正在检测更改但未编译为 css
Posted
技术标签:
【中文标题】Sass watch 正在检测更改但未编译为 css【英文标题】:Sass watch is detecting changes but not compiling to css 【发布时间】:2015-03-21 22:15:42 【问题描述】:当我运行sass --watch app.sass:app.css
终端显示已检测到更改为 sass 但不会编译为 css。我使用的是 Bourbon,所以我所有的 .scss 和 .sass 文件都是通过 mixins 导入的。
例如
>>> Sass is watching for changes. Press Ctrl-C to stop.
>>> Change detected to: css/2-modules/top-nav.scss
【问题讨论】:
您确定top-nav.scss
或top-nav.scss
可能导入的任何文件中没有任何错误吗?
没有错误,实际上我对项目中的其他 .scss 文件进行了各种更改以测试编译器,它仍然只检测对 .scss 文件所做的更改而不编译它们。
检查 config.rb 也许它们被存储在错误的目录中
【参考方案1】:
确保您使用_filename.scss
保存的文件已正确导入mainfile.scss
。如果您尚未导入_filename.scss
,它将检测到更改但不会编译。
【讨论】:
【参考方案2】:我遇到了同样的问题!在我的情况下,这是由于有几个 @imports
如下所示:
@import 'colors';
@import 'fonts';
@import 'size';
当我把它改成这个时,它又开始工作了:
@import 'colors', 'fonts', 'size';
虽然它不应该是必需的: “Sass 导入与 CSS 导入具有相同的语法,只是它们允许多个导入用逗号分隔,而不是要求每个导入都有自己的 @import。” - sass-lang.com/documentation
【讨论】:
【参考方案3】:检查文件夹中的 Config.rb 文件。 没有它,您每次都必须 Ctr c 并传递此命令 sass --watch scssname:cssname
然后你可以在css中找到你的代码。
【讨论】:
【参考方案4】:您确定您的所有部分都被导入到 app.scss 中吗?我有同样的问题,只是意识到我正在修改的部分文件(_custom.scss)实际上并没有被 main.scss 导入。
【讨论】:
【参考方案5】:通过正确命名创建scss文件(确保有下划线“_”)
_custom.scss
在main.scss中导入_custom.scss (不需要下划线)
// main.scss
@import "custom";
编译代码
sass --watch main.scss main.css
这将正确编译代码。
【讨论】:
【参考方案6】:在您的样式文件夹中创建一个file.scss
,并在开始 中使用"_"
。例如:_fileName.scss
在主 scss 文件的开头导入它。例如:
// in **mystyle.scss**
do : **@import "fileName"** (without the underscore )
在终端中运行你的 sass。例如:
sass mystyle.scss:mystyle.css --watch
【讨论】:
以上是关于Sass watch 正在检测更改但未编译为 css的主要内容,如果未能解决你的问题,请参考以下文章
Apache 正在运行线程 MPM,但您的 PHP 模块未编译为线程安全的。您需要重新编译 PHP。 AH00013:预配置失败
TensorFlow 未编译为使用 SSE(等)指令,但这些指令可用