Visual studio 2012 如何阻止使用SASS和Midscape多次导入文件?
我正在学习Sass,并使用了@import。我有以下情况Visual studio 2012 如何阻止使用SASS和Midscape多次导入文件?,visual-studio-2012,sass,mindscape,Visual Studio 2012,Sass,Mindscape,我正在学习Sass,并使用了@import。我有以下情况 _master.scss如果我理解的话,听起来你真的可以从更好地使用计算机中获益。如果不希望导入所有的_master.scs,则应将其分解为多个组件,然后根据需要导入这些组件 例如,如果master.scss包含站点上的所有字体、颜色和列布局,则可以将其分解为以下内容: _fonts.scss _colors.scss _column.scss 在master.scss中,您将导入每个。然后,您可以根据需要将这些较小的文件导入child
_master.scss如果我理解的话,听起来你真的可以从更好地使用计算机中获益。如果不希望导入所有的_master.scs,则应将其分解为多个组件,然后根据需要导入这些组件 例如,如果
master.scss
包含站点上的所有字体、颜色和列布局,则可以将其分解为以下内容:
_fonts.scss
_colors.scss
_column.scss
在master.scss
中,您将导入每个。然后,您可以根据需要将这些较小的文件导入child1
和child2
如果这不是你想要的,请尝试澄清你的问题,我可能会提供更多帮助
更新:在与Imjared讨论后,他说我应该只创建一个包含变量的文件。这似乎对我有效,因此我正在更新此答案并将其标记为正确。我使用此代码段导入内容解决了此重复的SCS:
// src/main/scss/import-once-workaround.scss
$imported-once-files: () !default;
@function not-imported($name) {
$imported-once-files: $imported-once-files !global;
$module_index: index($imported-once-files, $name);
@if (($module_index == null) or ($module_index == false)) {
$imported-once-files: append($imported-once-files, $name);
@return true;
}
@return false;
}
然后通过以下方式导入文件:
@if not-imported("font") { @import "font"; }
我用这种方法而不是Zurb的方法来让StyleDocco工作,请看是的,这就是我所做的。如果我按照你说的做,我想用一个变量来表示$black。这个变量在_fonts.scss中,它在_colors.scss中,它是Child 1。然后我仍然需要将master导入所有.scss工作表中,不是吗?为什么不只使用_variables.scss并导入它?如果只是导入未编译的内容,那么导入并不一定是坏事。