@use in sass - 无法从node_modules解析css路径

min*_*rse 5 css sass sass-loader normalize-css angular

我已经在我的项目中安装了 Modern-normalize,并且从 sass 文件中我尝试包含它的 css 文件,如下所示:

\n
@use '~modern-normalize/modern-normalize' as *;\n
Run Code Online (Sandbox Code Playgroud)\n

然而我不断收到这个消息:

\n
\n

错误:找不到要导入的样式表。\xe2\x95\xb7 9 \xe2\x94\x82 @use\n'~modern-normalize/modern-normalize' as *; \xe2\x94\x82\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^

\n
\n

即使在我的 IDE (vscode) 中,我可以 CMD+单击它,它会很好地导航并打开文件,我在我的 node_modules 目录中看到

\n

我是否缺少一些与配置相关的东西?

\n

Fra*_*ser 0

您的路径看起来很奇怪,路径的波浪号~前缀告诉用于 css-loader 解析导入“像模块一样”,从 node_modules 目录开始。

~然而,Angular 已弃用for Sass@use@import语句的使用。

波浪号导入在 Sass 加载器中已被弃用很长一段时间,并且它们无法与 v13 中的新包格式一起使用。这些更改添加了将删除波形符的迁移。

请参阅https://github.com/angular/components/commit/f2ff9e31425f0e395e6926bcaf48f876688000d8

所以尝试删除它。例如

@use 'modern-normalize/modern-normalize' as *;
Run Code Online (Sandbox Code Playgroud)