You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Angular的Sass文件中使用@use '@angular/material'导致构建失败求助

解决Angular Material elevation函数构建失败问题

1. 排查Sass语法解析错误

针对初始报错Unterminated string token,尽管你的代码看似正常,但Sass对格式细节敏感:

  • 统一使用空格缩进,禁止混合制表符与空格
  • 检查@use '@angular/material' as mat行末尾是否存在隐藏特殊字符(如异常换行符)
  • 尝试将导入语句的单引号改为双引号:@use "@angular/material" as mat,部分环境下单引号可能触发解析bug

2. 修复MDC依赖缺失/损坏问题

针对深层报错SassError: Can't find stylesheet to import,这是Angular Material依赖的Material Design Components (MDC) 包出现异常导致的:

  • 删除本地node_modules文件夹、package-lock.json(或yarn.lock)文件
  • 重新安装所有依赖:
    npm install
    # 若使用yarn则执行
    yarn install
    
  • 强制版本匹配:打开package.json,确保@angular/core与@angular/material的主版本号完全一致(例如两者均为16.x.x,不能跨主版本混用)

3. 优化导入范围,避免全量引入

全量导入@angular/material易引发依赖冲突,建议仅导入所需的elevation模块:

@use '@angular/material/core/elevation' as mat-elevation

调用时修改为:

.category-card:hover
  @include mat-elevation.elevation(9)
  cursor: pointer

4. 校验Angular CLI样式配置

确认angular.json的build.options.styles数组中已包含Angular Material预构建主题:

"styles": [
  "@angular/material/prebuilt-themes/indigo-pink.css",
  "src/styles.sass"
]

内容的提问来源于stack exchange,提问作者Michał Bieńkowski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 03:35:18