为什么在scss中把_放在文件名前面?

_filename。为什么它需要_ ?


当前回答

_(下划线)是scss的部分。这意味着样式表将被导入(@import)到主样式表,即styles.scss。使用部分的好处是,你可以使用许多文件来组织你的代码,所有的东西都将在一个文件中编译。

其他回答

此外,如果不使用下划线前缀,在节点环境中使用node-sass的监视器将导致错误消息,请参阅https://github.com/sass/node-sass/issues/2762

当你在文件名前包含“_”时,它不会生成到CSS中,除非你将它导入到另一个非局部的sass文件中。

假设您的文件夹结构是这样的

/scss
 style.scss
 _list.scss
/css

如果执行该命令

sass --watch scss:css

只会创建style.css和style.css.map文件,sass编译器会省略_list. map文件。而不需要将其内容转换为CSS文件。

/scss
 style.scss
 _list.scss
/css
 style.css
 style.css.map

使用partial的唯一方法是将它们导入另一个.scss文件

@import 'list.scss';

如果你移除_list前的“_”。SCSS命令的结果将是

/scss
 style.scss
 list.scss
/css
 style.css
 style.css.map
 list.css
 list.css.map

使用部分的主要目的是将我们的CSS代码分解成几个更容易维护的部分。希望这能有所帮助。谢谢。

_用于表示偏导数。这些部分包含预处理阶段所需的变量和内部函数,它们不需要被编译为css。_ partial templates包含utils, SCSS局部变量和编译SCSS到css所需的函数。

带有_(下划线)的文件将被编译器忽略。然而,所有这些文件都被导入到一个单一的主SCSS文件(即styles.scss),这实际上是被编译的文件(它的名称中没有_(下划线))

最终的目标是只编译一个SCSS文件,因此只有一个CSS文件,这有很多优点。

_(下划线)是scss的部分。这意味着样式表将被导入(@import)到主样式表,即styles.scss。使用部分的好处是,你可以使用许多文件来组织你的代码,所有的东西都将在一个文件中编译。