尝试在 create-react-app 中使用新的 @use 语法使用 sass 模块但收到错误

her*_*man 8 sass

我已经 npm 安装了最新的 node-sass,并且 scss 文件在我使用 @use 之前可以正常工作。我在 /shared/tokens/ 文件夹中有一个 _tokens.scss 文件。在 _tokens.scss 我有:

$colorwhite: #ffffff;
Run Code Online (Sandbox Code Playgroud)

在我的根文件夹中,我的 App.scss 如下所示:

@use "shared/tokens/tokens";

.App-header {
  color: tokens.$colorwhite;
}
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

./src/App.scss (./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-5-1!./node_modules/postcss-loader/src??postcss!./node_modules/resolve-url-loader??ref--6-oneOf-5-3!./node_modules/sass-loader/dist/cjs.js??ref--6-oneOf-5-4!./src/App.scss)
SassError: Invalid CSS after "  color: tokens": expected expression (e.g. 1px, bold), was ".$colorwhite;"
        on line 26 of /Users/xxx/src/App.scss
>>   color: tokens.$colorwhite;
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑:它与@import. 我也试过,@use... as *但是不行。

Ark*_*lys 9

@use规则目前仅受Dart Sass支持。你应该@import改用。

  • 您不是唯一一个一开始没有看到它的人,兼容性在文档中不是很明显...... (2认同)