我在我的项目中安装了modern normalize,我试图从一个sass文件中包含它的css文件,如下所示:
@use '~modern-normalize/modern-normalize' as *;
然而,我一直得到这个:
错误:找不到要导入的样式表。╷9│ @使用'~modern normalize/modern normalize'为*;│^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
即使在我的IDE(vscode(中我可以CMD+单击它,它也可以很好地导航和打开文件,我在我的node_modules目录中看到
我是不是遗漏了一些与配置相关的东西?
您的路径看起来很奇怪,路径的波浪号~
前缀开始告诉用于css-loader解析导入";如同模块";,从nodemodule目录开始。
然而,Angular反对在Sass@use
和@import
语句中使用~
。
Tilde导入在Sass加载程序中已被弃用很长一段时间而且它们无法在v13中使用新的包格式。这些变化添加一个将删除波浪号的迁移。
请参阅https://github.com/angular/components/commit/f2ff9e31425f0e395e6926bcaf48f876688000d8
所以试着去掉它。例如
@use 'modern-normalize/modern-normalize' as *;
"stylePreprocessorOptions": {
"includePaths": [
"./node_modules"
]
}
然后从导入路径中删除~。
或者,您可以使用绝对路径进行导入,如下面所示,构造node_modules的路径,您可能需要检查文件的正确路径。
use '../../node_modules/modern-normalize/modern-normalize' as *;