为什么我的SASS @import会进入我的CSS @import?

时间:2016-11-22 02:02:54

标签: css import compilation sass

好的,例如,假设我有main.css,main.sass,about.sass和contact.sass。

main.sass应该有@import about.sass和@import contact.sass。然后,当编译main.sass时,main.css应该包含about.sass和contact.sass的所有内容。不是@ import的。

Main.sass

@import 'tools/fonts' 
@import 'tools/normalize'
@import 'tools/grid'

现在,当它转换为main.min.css时,它看起来与main.sass

中的完全相同
@import url(tools/fonts.css);
@import url(tools/normalize.css);
@import url(1-tools/grid.css);

不应该没有@imports,只有组合的CSS代码吗?

1 个答案:

答案 0 :(得分:0)

您导入的文件的名称不以下划线开头。如果文件以下划线开头,则SASS知道它是部分文件,并且应该包含在导入的任何位置。

如果文件名不是以下划线开头,那么它将作为自己的CSS文件生成。

此行为描述为here

  

局部模板

     

如果您要导入SCSS或Sass文件但不想编译为CSS文件,则可以在文件名的开头添加下划线。这将告诉Sass不要将其编译为普通的CSS文件。然后,您可以在不使用下划线的情况下导入这些文件。

     

例如,您可能有_colors.scss。然后不会创建_colors.css文件,你可以做

@import "colors";
     

和_colors.scss将被导入。

     

请注意,您可能不会在同一目录中包含具有相同名称的部分和非部分。例如,_colors.scss可能不与colors.scss一起存在。