📌  相关文章
📜  NgModule 'AppModule' 需要使用 JIT 编译器进行编译,但 '@angular compiler' 不可用 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:17:52.587000             🧑  作者: Mango

解决 'NgModule 'AppModule' 需要使用 JIT 编译器进行编译,但 '@angular compiler' 不可用 - TypeScript'

当使用 Angular 开发应用程序时,有时会遇到以下错误消息:

'NgModule 'AppModule' 需要使用 JIT 编译器进行编译,但 '@angular/compiler' 不可用 - TypeScript'

这个错误通常发生在应用程序未配置编译器的情况下。

以下是解决此错误的步骤:

步骤1: 安装 '@angular/compiler'

要解决此错误,需要在项目中的依赖关系中安装 '@angular/compiler'。

打开命令行并导航到项目的根目录。 然后运行以下命令:

npm install @angular/compiler --save-dev

此命令将在项目中安装 '@angular/compiler'。 一旦安装完成,该程序将为您的项目设置编译器。

步骤2: 在 'tsconfig.json' 文件中启用 'emitDecoratorMetadata'

当应用程序中使用装饰器时,必须在 'tsconfig.json' 文件中启用 'emitDecoratorMetadata'。 如果未启用它,则编译器无法正确编译应用程序。

在 'tsconfig.json' 文件中添加以下代码:

"emitDecoratorMetadata": true
步骤3: 在 'tsconfig.app.json' 文件中启用 'compilerOptions'

在 Angular 应用程序中,必须在 'tsconfig.app.json' 文件中启用编译器选项。 如果未启用编译器选项,则编译器无法正确编译您的应用程序。

在 'tsconfig.app.json' 文件中添加以下代码:

"compilerOptions": {
 "baseUrl": "./",
 "outDir": "./dist/out-tsc",
 "sourceMap": true,
 "declaration": false,
 "moduleResolution": "node",
 "emitDecoratorMetadata": true,
 "experimentalDecorators": true,
 "target": "es5",
 "typeRoots": [
  "node_modules/@types"
 ]
},
步骤4: 运行应用程序

完成上述步骤后,请尝试重新运行应用程序。 如果一切正常,您应该能够成功编译和启动应用程序。

希望这篇文章对您有帮助,要享受编程的乐趣!