为什么在scss中把_放在文件名前面?
_filename。为什么它需要_ ?
为什么在scss中把_放在文件名前面?
_filename。为什么它需要_ ?
当前回答
_用于表示偏导数。这些部分包含预处理阶段所需的变量和内部函数,它们不需要被编译为css。_ partial templates包含utils, SCSS局部变量和编译SCSS到css所需的函数。
其他回答
_(下划线)是scss的部分。这意味着样式表将被导入(@import)到主样式表,即styles.scss。使用部分的好处是,你可以使用许多文件来组织你的代码,所有的东西都将在一个文件中编译。
_用于表示偏导数。这些部分包含预处理阶段所需的变量和内部函数,它们不需要被编译为css。_ partial templates包含utils, SCSS局部变量和编译SCSS到css所需的函数。
当你在文件名前包含“_”时,它不会生成到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代码分解成几个更容易维护的部分。希望这能有所帮助。谢谢。
此外,如果不使用下划线前缀,在节点环境中使用node-sass的监视器将导致错误消息,请参阅https://github.com/sass/node-sass/issues/2762
以下划线开头的sass文件是局部文件。这是将你的样式划分为逻辑部分的好方法。当您使用@import时,这些文件都在编译时合并。
来自Sass语言指南:
您可以创建部分Sass文件,其中包含可以包含在其他Sass文件中的CSS小片段。这是一种模块化CSS的好方法,有助于使事情更容易维护。部分只是一个以前导下划线命名的Sass文件。可以将其命名为_partial.scss。下划线让Sass知道该文件只是一个部分文件,它不应该生成到CSS文件中。Sass部分与@import指令一起使用。
http://sass-lang.com/guide