Sass 手表正在检测更改,但不会编译为 css



当我运行sass --watch app.sass:app.css终端显示已检测到更改为sass,但不会编译为css。我正在使用波旁威士忌,所以我所有的.scss和.sass文件都是通过mixins导入的。

前任。

 >>> Sass is watching for changes. Press Ctrl-C to stop.
 >>> Change detected to: css/2-modules/top-nav.scss

确保您使用 _filename.scss 保存的文件已正确导入mainfile.scss . 如果您尚未导入_filename.scss它将检测到更改,但不会编译。

我遇到了同样的问题!就我而言,这是由于列出了几个@imports,如下所示:

@import 'colors';
@import 'fonts';
@import 'size';

当我将其更改为此时,一切又开始工作了:

@import 'colors', 'fonts', 'size';

虽然不需要:
"Sass 导入与 CSS 导入具有相同的语法,只是它们允许多个导入用逗号分隔,而不是要求每个导入都有自己的@import。- sass-lang.com/documentation

检查文件夹中的 Config.rb 文件。没有它,你必须每次都Ctr c并传递这个命令sass --watch scssname:cssname

然后你可以在 css 中找到你的代码。

您确定所有部分都导入到 app.scss 中吗?我遇到了同样的问题,只是意识到我正在修改的部分文件 (_custom.scss) 实际上并没有被 main.scss 导入。

通过正确的命名创建 scss 文件(确保有下划线"_")

_custom.scss

main.scss 中导入 _custom.scss(无需下划线)

// main.scss
      @import "custom";

编译代码

sass --watch main.scss main.css

这将正确编译代码。

  1. 在样式文件夹中创建一个开头带有"_"file.scss 例如:_fileName.scss

  2. 在主体 scss 文件的开头导入它。例如:

    // in **mystyle.scss**   
    do : **@import "fileName"** (without the  underscore )
    
  3. 在终端中运行您的屁股。例如:

    sass mystyle.scss:mystyle.css --watch
    

我遇到了同样的问题,但事实证明我没有在脚本末尾包含"-w",以便脚本继续监视更改并编译 sass 文件。

这就是我的意思:"脚本":"编译:sass": "node-sass sass/main.scss css/style.css -w"

相关内容

  • 没有找到相关文章