当我运行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
这将正确编译代码。
-
在样式文件夹中创建一个开头带有
"_"
的file.scss
。 例如:_fileName.scss
-
在主体 scss 文件的开头导入它。例如:
// in **mystyle.scss** do : **@import "fileName"** (without the underscore )
-
在终端中运行您的屁股。例如:
sass mystyle.scss:mystyle.css --watch
我遇到了同样的问题,但事实证明我没有在脚本末尾包含"-w",以便脚本继续监视更改并编译 sass 文件。
这就是我的意思:"脚本":"编译:sass": "node-sass sass/main.scss css/style.css -w"