我有一个清单样式表,我导入了所有现有的样式表。然后将它们捆绑并最小化为单个CSS文件。
我需要做的是从一个文件夹导入所有文件,但只能导入一个。那是因为我正在使用Bourbon mixin库,并且必须在它之前提供覆盖变量,但之后的所有其他SCSS文件。
这是树的样子:
- helpers/
- variables.scss
- classes.scss
- mixins.scss
- bundle.scss
我想做的是:
bundle.scss:
@import "helpers/variables";
@import "bourbon";
@import "helpers/*-without_variables";
我已经尝试使用helpers/*
导入此文件夹中的所有文件,但它再次导入变量,我不希望这样。
答案 0 :(得分:2)
没有。 Sass目前没有这样的功能。您唯一的选择是仅包含您实际想要的文件。
如果您尝试导入的任何文件导入了您尝试排除的文件,除了修改源文件之外,您无能为力。
如果您正在使用Compass,默认情况下会附带一次性导入扩展程序。这将涵盖此用例(仅导入指定的文件一次),但如果您在任何情况下都不想导入特定文件,则无效。
导入一次功能预计将成为Sass 4.0的一项功能(参见:https://github.com/sass/sass/issues/139)
答案 1 :(得分:-1)
是的,有一个SASS插件,它可以防止重复包含SCSS / SASS文件:“SASS Import Once”。
当包含在SASS模块中时,sass-import-once将阻止 如果在其他地方调用@import,则复制样式。这是 酷,因为它允许每个SASS文件声明自己的 依赖。这促进了封装并允许模块 如果需要,可以单独使用。
https://github.com/wilsonpage/sass-import-once
指南针也有一些相关功能,但我无法记住这个名字。