3

我正在使用 Sass 来设计一个新网站。
最初我的 style.scss(编译的主 SCSS 文件)导入了 general.scss(我在其中定义了变量)和各种页面(例如 homepage.scss)。它运作良好。我尝试重构 homepage.scss 以仅导入其各个部分的 Scss(例如 section-a.scss)。令人惊讶的是,Sass 编译器 (Prepros) 不再识别所有变量。

我的问题是:

  1. 我可以将部分导入到 SASS 中的部分吗?
  2. 我可以使用在所有其他部分中导入到主 scss 文件(编译)的部分中声明的变量吗?

不用说,所有部分文件名都以下划线开头。

谢谢!

4

3 回答 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...
}

我从来没有建议任何人使用引导程序......但如果你看看它的结构,你可能会看到很多这样的 - 作为一个例子。

于 2017-08-03T16:48:31.300 回答
1

是的,可以在 Sass 中将部分导入到部分中。此外,只要将它们都直接或间接导入到同一个主 sass 文件中,在任何其他部分中使用一个部分中定义的变量应该没有问题。

我遇到的错误是由于在导入它们时未指定主页部分所在的文件夹。导入代码是:

@import 'partial'; 

虽然我应该使用的代码是:

@import 'home/partial'
于 2017-08-03T17:19:12.803 回答
0

根据您的设置,这应该没问题,只需确保以某种方式设置层次结构,以便导入逻辑流动,这样您就不会在定义变量之前尝试访问变量等。

如果您使用的插件/包一次只从一个文件夹中抓取所有文件,这更有可能是一个问题。

我通常只是尝试坚持使用一个文件来导入所有内容,这样更易​​于管理。不过各有各的。

于 2018-09-05T13:40:12.960 回答