我尝试在自定义主题中导入角度材质主题文件,当尝试生成CSS代码时出现错误:
$ sass src/_custom-theme.scss
Error: Can't find stylesheet to import.
╷
2 │ @import '~@angular/material/_theming.scss';
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
╵
这是文件的第一行。我也尝试使用以下行,但出现相同的错误:
@import '~@angular/material/theming';
如果我尝试这样导入文件,它将起作用:
@import '../node_modules/@angular/material/theming';
但是奇怪的是,通过导入这样的预构建主题,只是为了进行测试,
@import '~@angular/material/prebuilt-themes/deeppurple-amber.css'
WebStorm设法生成css并在使用ng serve
启动webapp时使用它,但仍显示错误消息。
错误消息显示为webstorm和sass
版本:
您有解决此问题的想法吗?非常感谢。
答案 0 :(得分:1)
如果您使用的是Angular 9,并使用ng add @angular/material
添加了@ angular / material包,则可能会出现此问题。这是因为ng add
命令使用的软件包适用于Angular的较早版本,并且到目前为止尚未与v9兼容。可以通过npm install @angular/material
命令安装来解决此问题。您可能需要先卸载该软件包。如果仍然不起作用,请删除node_modules文件夹和package-lock.json并运行npm install
。
由于这是一篇过时的文章,所以我假设这是在Angular v8版本附近发生的,大概会导致相同的行为,直到通过npm add
命令将ngrx更新为支持v8为止。相同的解决方案也可以解决Angular版本更新的将来版本的问题。
答案 1 :(得分:0)
根据您的应用程序结构,您可以调整路径以找到node_modules。
如果在index.html的同一位置上有_variable.scss,请这样做
@import './../node_modules/@angular/material/theming';