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

时间:2013-11-18 13:43:54

标签: sass phpstorm

我无法得到它是SASS的错误或特征。

我们说,我有 test.scss 文件:

.test {
  margin: 0;
}

它被编译成 test.css 。好。

我有另一个 test2.scss 这样的代码:

.test2 {
padding: 0;
}

编译成 test2.css 。也很好。

但是,如果我在 test2.scss 中添加 @import“test”; ,则 test.css 会停止编译。

Official documentation says

  

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

据此我可以理解, test.css 必须编译。通过在SCSS文件名的beginnig中添加下划线,可以禁用 编译。

或者我误解了什么?请解释一下。

我的环境:Windows 7,css文件由文件监视器在PhpStorm编译,SASS版本 - Media Mark(3.2.12)

更新(20.11.13) 看来,PhpStrom的File Watcher / More信息可以在this topic找到。

1 个答案:

答案 0 :(得分:2)

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

原因在于PhpStorm的SCSS文件观察器设置“仅跟踪根文件”

Help of PhpStorm says

  

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

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

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