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.scsstop-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

ma​​in.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:预配置失败

Sass --watch 不重新编译

tsc 命令未编译为 outDir

TensorFlow 未编译为使用 SSE(等)指令,但这些指令可用

SCSS 文件在使用 Webpack 做出反应时未编译为 CSS

使用 ildasm 检测 WPF 程序集之间的标记差异