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

引入Angular Material模块后报JIT compiler unavailable错如何处理

错误触发原因
  1. 非法的NgModule导入配置:Angular的@NgModule装饰器的imports数组仅允许传入Angular模块类,你将属于指令类的MatInput直接加入了imports数组,属于非法配置。Angular生产构建默认启用AOT编译,不会打包JIT编译器,当框架加载到非法导入项时会尝试调用JIT编译器处理,找不到编译器就抛出该报错。
  2. 缺失依赖模块:mat-form-field组件属于MatFormFieldModule,你仅导入了MatInputModule,缺少该依赖模块也会触发运行时异常。
解决方法
  • 修正app.module.ts的导入配置,参考代码如下:
// 移除对MatInput的单独导入,只保留模块导入,补充MatFormFieldModule
import { MatInputModule } from '@angular/material/input';
import { MatFormFieldModule } from '@angular/material/form-field';
// 若用到表单双向绑定/表单控制,额外导入对应表单模块
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
// 其余原有导入省略

@NgModule({
  declarations: [
    // 你的项目组件声明,保持原有内容即可
  ],
  imports: [
    BrowserModule,
    MatFormFieldModule, // 新增:提供mat-form-field组件能力
    MatInputModule,
    FormsModule, // 按需添加,用模板驱动表单就加这个
    ReactiveFormsModule, // 按需添加,用响应式表单就加这个
    // 其余原有模块导入保持不变
  ],
  providers: [],
  bootstrap: [/* 你的根组件,保持原有内容即可 */]
})
export class AppModule { }
  • 校验版本匹配:确认项目中@angular/core和@angular/material的大版本号完全一致,跨版本混用会导致依赖解析异常,触发同类报错。
  • 验证修复:修改完成后先执行ng serve在本地开发环境验证功能正常,再执行ng build构建生产包部署即可。

内容的提问来源于stack exchange,提问作者Django

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:54:03