SASS 在 CSS 生成中忽略@import文件



我无法理解它是 SASS 的错误还是功能。

假设,我有这样的test.scss文件:

.test {
  margin: 0;
}

它被编译到测试.css。好。

我还有另一个带有以下代码的test2.scss

.test2 {
padding: 0;
}

它被编译到 test2.css 中。也不错。

但是,如果我在test2.scss中添加@import"test",test.css停止编译。

官方文件说:

如果您有要导入但不想编译为 CSS 文件的 SCSS 或 Sass 文件,则可以在文件名的开头添加下划线。

由此我可以理解,该测试.css无论如何都必须编译。它的编译只能通过在 SCSS 文件名的开头添加下划线来禁用。

还是我受了点什么?请解释一下。

我的环境:Windows 7,css文件由PhpStorm中的File Watchers编译,SASS版本 - Media Mark (3.2.12)

更新 (20.11.13)看起来,这是PhpStrom的文件观察器的问题/更多信息可以在本主题中找到。

感谢@AlexGuerrero建议,Andriy Bazanov 的答案问题终于解决了。

原因是PhpStorm的SCSS文件观察器设置"仅跟踪根文件"。

PhpStorm的帮助 说:

当对文件调用文件观察器时,PhpStorm 会检测所有 包含此文件的文件。对于其中每个文件,在其 转,PhpStorm 再次检测它包含的文件。这 递归重复操作,直到 PhpStorm 到达文件 未包含在指定范围内的任何位置。这些文件 称为根文件(不要与内容根混淆)。

  • 选中此复选框后,文件观察程序仅针对根文件运行。
  • 清除该复选框后,文件观察器将针对从中调用它的文件以及其中的所有文件运行 此文件以递归方式包含在指定范围内。

在我的情况下,此复选框已被选中,所以我取消选中它,现在我有预期的行为。

最新更新