Angular ng build报'mat-toolbar' is not a known element如何解决
mat-toolbar is not a known element 报错修复方案
按以下优先级逐一排查修复即可:
- 补全模块导入语句
你当前app.module.ts的imports数组中引用了MatSidenavModule、MatButtonModule、MatIconModule、MatDividerModule,但文件顶部没有写对应模块的import语句,会导致NgModule整体解析失败,连带已导入的MatToolbarModule无法被识别。
在文件顶部补全缺失的导入:
import { MatSidenavModule } from '@angular/material/sidenav'; import { MatButtonModule } from '@angular/material/button'; import { MatIconModule } from '@angular/material/icon'; import { MatDividerModule } from '@angular/material/divider';
补全后顶部导入区块完整代码如下:
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing/app-routing.module'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { MatToolbarModule } from '@angular/material/toolbar'; import { MatSidenavModule } from '@angular/material/sidenav'; import { MatButtonModule } from '@angular/material/button'; import { MatIconModule } from '@angular/material/icon'; import { MatDividerModule } from '@angular/material/divider'; import { AppComponent } from './app.component';
- 检查组件声明配置
- 如果你的
AppComponent没有配置standalone: true:确认组件确实声明在AppModule的declarations数组中,不要出现组件被声明在其他业务模块的情况。 - 如果你的
AppComponent配置了standalone: true:直接在AppComponent的imports数组中加入MatToolbarModule即可,不需要在AppModule中重复声明组件。
- 如果你的
- 清理构建缓存重试
补全代码后如果依旧报错,执行以下命令清理缓存后重新构建:
rm -rf node_modules .angular dist npm install ng build
- 版本兼容校验
如果以上操作都无效,执行ng version检查Angular和Angular Material的版本号,两者主版本号必须保持一致,版本不兼容会导致模块解析异常。
内容的提问来源于stack exchange,提问作者Sarah
相关产品推荐
相关产品推荐

