Sass watch正在检测更改但未编译为css

时间:2015-01-22 23:09:16

标签: css sass mixins compass bourbon

当我运行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

6 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:2)

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

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

当我将其更改为此时,它们又重新开始工作:

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

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

_custom.scss

_custom.scss 导入 main.scss (不需要下划线)

// main.scss
      @import "custom";

编译代码

  

sass --watch main.scss main.css

这将正确编译代码。

答案 5 :(得分:0)

  1. 在样式文件夹中,在开始中创建一个file.scss的{​​{1}}。例如:"_"

  2. 将其导入您的主要scss文件的开头。例如:

    _fileName.scss
  3. 在终端中运行您的无礼。例如:

    // in **mystyle.scss**   
    do : **@import "fileName"** (without the  underscore )