📌  相关文章
📜  vscode angular:运行 ngcc - Javascript (1)

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

VSCode Angular:运行 ngcc - JavaScript

在使用 Angular 开发应用程序时,您可能会遇到以下错误之一:

Error: Angular JIT compilation failed: '@angular/core' not found

或者

Error: Angular JIT compilation failed: The Angular compiler requires TypeScript >= 4.0.0 and <4.3.0 but 4.4.4 was found instead.

这是由于新版本的 Angular 启用了 Ivy 编译器,但旧的第三方库仍在使用旧的 View Engine 编译器(现在称为 JIT 编译器)。解决此问题的方法是在编译过程中运行 Angular Compatibility Compiler(ngcc),将旧的 View Engine 编译器与新的 Ivy 编译器兼容。

以下是如何在 VSCode 中运行 ngcc 的步骤:

  1. 在终端中进入项目根目录。
cd /path/to/your/project
  1. 运行 ngcc 命令。
npx ngcc
  1. 如果您使用的是 Angular CLI 创建的项目,可以将 ngcc 命令添加到 package.json 文件中的脚本中。
{
  "scripts": {
    "postinstall": "ngcc"
  }
}

这样,每次运行 npm install 命令后都会自动运行 ngcc。

  1. 如果您使用的是 eslint-plugin-angular 来检查代码风格,则需要更新 .eslintrc.js 文件中的配置。
module.exports = {
  plugins: [
    'eslint-plugin-angular'
  ],
  rules: {
    'angular/ngInjectableTypecheck': 0
  }
}

这是因为 ngcc 会创建一个动态注入的类型,导致 eslint-plugin-angular 报告错误。

现在,您的 Angular 应用程序应该可以在新版本的 Angular 中正常运行了。

参考: