我能翻译为:我可以在SASS中将Partial导入到Partial中吗?

3
我正在使用Sass样式化一个新网站。
最初我的style.scss文件(编译的主要SCSS文件)导入了general.scss文件(我在其中定义了变量)和各个页面(例如homepage.scss)。它运作良好。然后我试图重构homepage.scss,仅导入其各个部分(如section-a.scss)。令人惊讶的是,Sass编译器(Prepros)不再识别所有变量。
我的问题是:
  1. 在SASS中可以将局部文件导入到另一个局部文件中吗?
  2. 在主scss文件(编译的文件)中导入的局部文件中声明的变量可以在其他所有局部文件中使用吗?
需要说明的是,所有局部文件名称均以下划线开头。
谢谢!
3个回答

2

这可能与您放置导入的顺序有关。

应该像这样工作:(我不记得SCSS语法是什么......但这应该可以解释)

// primary file master.scss or whatever importing partials...
@import 'reset';
@import 'variables';
@import 'styles-etc';


// variables file / importing other partials
@import 'variables/space';
@import 'variables/color';
@import 'variables/break-points';


// styles file
body {
  background: $color; // from variables/color...
}

我从未建议任何人使用Bootstrap......但如果你看一下它的结构,你可能会发现很多这样的东西-作为一个例子。


2
是的,在Sass中可以将partial导入到另一个partial中。此外,只要它们都直接或间接地导入到同一个主Sass文件中,就可以在任何其他partial中使用在一个partial中定义的变量,不会出现问题。
我遇到的错误是由于在导入时未指定主页partials所在的文件夹。导入代码如下:
@import 'partial'; 

我本应该使用的代码是:

@import 'home/partial'

0

这应该是可以的,取决于你的设置,只要确保你的层次结构以逻辑方式设置,这样导入就会流畅,不会在定义变量之前尝试访问它们或类似情况。

如果你使用一个从文件夹中一次性获取所有文件的插件/包,那么这更有可能成为一个问题。

我通常只尝试使用一个文件来导入所有内容,这样更容易管理。当然,每个人都有自己的做法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接