捆绑文件中缺少 Angular esbuild @angular/compiler

问题描述 投票:0回答:1

我有一个 shell 应用程序,可以与 https://single-spa.js.org/docs/api/https://github.com/systemjs/systemjs 一起运行其各种微前端。

现在我有一个全新的 Angular 应用程序,我想让它与新的构建器一起使用

esbuild

运行

npm run build
并最终得到一个
main.js
文件。当我尝试运行该文件时,它会产生错误:

未捕获的错误:可注入的“_G”需要使用 JIT 编译器,但“@angular/compiler”不可用。可注射的 是已部分编译的库的一部分。但是,那 Angular Linker 尚未处理该库,以便进行 JIT 编译 用作后备。

理想情况下,使用 Angular Linker 处理该库,使其成为 完全 AOT 编译。或者,应该加载 JIT 编译器 通过使用“@angular/platform-browser-dynamic”进行引导或 '@angular/platform-server',或者手动向编译器提供 '导入“@角度/编译器”;'在引导之前。

捆绑文件不应该包含@angular/compiler库吗?

编辑:包含 package.json

  "dependencies": {
    "@angular-architects/ngrx-toolkit": "^0.1.2",
    "@angular/animations": "^17.2.0",
    "@angular/common": "^17.2.0",
    "@angular/compiler": "^17.2.0",
    "@angular/core": "^17.2.0",
    "@angular/elements": "^17.3.0",
    "@angular/forms": "^17.2.0",
    "@angular/platform-browser": "^17.2.0",
    "@angular/platform-browser-dynamic": "^17.2.0",
    "@angular/router": "^17.2.0",
    "@ngrx/signals": "^17.1.1",
    "@ngrx/store": "^17.1.1",
    "@ngrx/store-devtools": "^17.1.1",
    "@signicat/pubsub": "^2.0.0",
    "esbuild": "^0.20.2",
    "esbuild-plugin-manifest": "^1.0.3",
    "rxjs": "~7.8.0",
    "single-spa": "^6.0.1",
    "single-spa-angular": "^9.0.1",
    "tslib": "^2.3.0",
    "zone.js": "~0.14.3"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^17.2.3",
    "@angular/cli": "^17.2.3",
    "@angular/compiler-cli": "^17.2.0",
    "@types/jasmine": "~5.1.0",
    "jasmine-core": "~5.1.0",
    "karma": "~6.4.0",
    "karma-chrome-launcher": "~3.2.0",
    "karma-coverage": "~2.2.0",
    "karma-jasmine": "~5.1.0",
    "karma-jasmine-html-reporter": "~2.1.0",
    "typescript": "~5.3.2"
  }
angular angular-cli micro-frontend esbuild
1个回答
0
投票

尝试 npm install @angular/compiler

纱线添加@Angular/compiler

清除缓存并重新安装依赖项

npm 缓存清理 --force npm 安装

纱线缓存清理 纱线安装

© www.soinside.com 2019 - 2024. All rights reserved.