0

我多年来一直在使用 LESS,现在只是在尝试 SASS。我在一个非常基本的事情上遇到了麻烦,所以我希望有人可以帮助我。

我想要实现的是:

  • 一个文件 theme.scss(编译成 theme.css)包含单独的组件(用于标题、导航、字体等)
  • 为要在组件中重复使用的品牌颜色等变量定义变量

我已经让它与@import一起工作,但因为它(将要)被弃用,所以我想改用@use。根据https://sass-lang.com/documentation/at-rules/use这应该是可能的。

我的文件设置是这样的:

|- style
   |- _definitions.scss
   |- theme.scss
   |- components
      |- component.scss

然后我在文件中有这个:

// theme.scss
@use 'definitions';
@use 'components/component.scss';

// _definitions.scss
$base-color: blue;

// components/component.scss
body {
    background: $base-color;
}

但这不起作用:我的编译器(我正在使用 Prepros)只是说它找不到变量 $base-color。:( 注意:如果我用@import 替换@use,它就可以正常工作。

帮助?

4

1 回答 1

0

@import永远不会被贬低。Sass 的开发人员是一群昏昏欲睡的混蛋。@use目前仅受 Dart-Sass 支持,我假设您使用的是 Node-Sass,大多数都是。因此,您需要使用@import,这在大多数用例中没有区别。

您可以在标题下方找到信息,它是第一行,几乎每个人都会跳过。

于 2020-08-29T13:29:17.453 回答