部分 Sass 文件中的下划线

Underscore in partial Sass file

.scss 部分文件必须下划线开头吗?文档指出部分文件应以下划线开头,否则该文件将编译为 CSS 文件。

但是我注意到 gulp-sass 将没有下划线的文件编译成一个完整的 CSS 文件就好了。

1. 如果您不想将它们生成到 css 文件中,则部分必须以下划线开头。

2. 一个 scss 文件可以导入另一个没有下划线的文件并且仍然可以正确编译。

举个例子:

sass
    +-- base
    |   +-- _normalize.scss 
    +-- components  
    |   +-- site-header.scss
    +-- utilities       
    |   +-- _icons.scss
    +-- site.scss

这里可以看到site-header.scsssite.scss没有下划线。如果我 运行 一个 gulp 任务来编译 sass 文件夹中的任何内容,将输出两个文件。

site-header.css
site.css

我们不想生成 site-header.css 但因为我们省略了下划线,编译器只忽略带有下划线的文件并为其生成一个 css 文件。

site-header.scss 仍然可以在 site.scss 中引用 @import

@import 'components\site-header';

无论是否使用下划线作为前缀,结果都是一样的。