尝试使用新的@use语法在create react应用程序中使用sass模块,但收到错误
我已经安装了最新的节点sass,scss文件在我使用@use之前可以正常工作。我在/shared/tokens/文件夹中有一个_tokens.scss文件。在_tokens.scss中,我有:尝试使用新的@use语法在create react应用程序中使用sass模块,但收到错误,sass,Sass,我已经安装了最新的节点sass,scss文件在我使用@use之前可以正常工作。我在/shared/tokens/文件夹中有一个_tokens.scss文件。在_tokens.scss中,我有: $colorwhite: #ffffff; 在我的根文件夹中,我的App.scss如下所示: @use "shared/tokens/tokens"; .App-header { color: tokens.$colorwhite; } 但我得到了这个错误: ./src/App.scss (./
$colorwhite: #ffffff;
在我的根文件夹中,我的App.scss如下所示:
@use "shared/tokens/tokens";
.App-header {
color: tokens.$colorwhite;
}
但我得到了这个错误:
./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;
有什么想法吗
编辑:它可以与
@import
配合使用。我也尝试了@use。。。与*
一样,但不能使用。该规则目前仅受Dart Sass支持。您应该改为使用。您可以通过利用包别名切换到Dart Sass。我想这在纱线下不起作用
首先删除当前的节点sass
pkg,然后运行:
npm安装节点-sass@npm:sass
您可以使用sass
中的全部功能,但需要注意一些
- 检查行为差异
- 性能度量表明
dart sass
比节点sass
慢
如果你真的想使用Sass
提供的这些功能,这一切都取决于你,这在这里是一个有效的选择。谢谢-我一秒钟前发现了这一点,回来更新这个问题,因为我在文档中没有看到它。我查看了sass软件包,认为节点sass更受欢迎,性能也更高,因此我将继续使用@import
,直到节点sass支持@use
。你不是唯一一个一开始没有看到它的人,在文档中,兼容性不是很明显……使用react脚本:3.4.3
。