angular - NullInjectorError:StaticInjectorError(平台:核心)[CompilerFactory] Angular
问题描述
我的申请有问题。Angular 9.0.5 当我通过 Jenkins build pass 构建(ng build --prod)应用程序但工件(由即 http-server 运行)被破坏。
显示错误:
Uncaught NullInjectorError: StaticInjectorError(Platform: core)[CompilerFactory]:
NullInjectorError: No provider for CompilerFactory!
at NullInjector.get (http://localhost:4201/vendor.js:17724:27)
at resolveToken (http://localhost:4201/vendor.js:32313:24)
at tryResolveToken (http://localhost:4201/vendor.js:32239:16)
at StaticInjector.get (http://localhost:4201/vendor.js:32080:20)
at compileNgModuleFactory__PRE_R3__ (http://localhost:4201/vendor.js:53780:38)
at PlatformRef.bootstrapModule (http://localhost:4201/vendor.js:54124:16)
at Module../src/main.ts (http://localhost:4201/main.js:729:77)
at __webpack_require__ (http://localhost:4201/runtime.js:85:30)
at Object.0 (http://localhost:4201/main.js:741:18)
at __webpack_require__ (http://localhost:4201/runtime.js:85:30)
但是如果我去我的构建机器上的相同位置并执行 ng build --prod 那么工件正在工作。这对我来说是一种魔法。谁能帮我?
解决方案
好的,我解决了问题。
在我的情况下,我被用作pnpm
包管理器。作为依赖,我有未编译的包(打字稿)
詹金斯无法访问那条长路径( pnpm 使用存储解决依赖关系)
当我在构建工作区(没有清理)上进入这台机器并运行时ng build --prod
,构建被正确构建了工件。
解决方案 1:使用npm
而不是pnpm
解决方案 2:不使用非编译包(打字稿)
推荐阅读
- css - 仅在显示引导模式后才应用 CSS 动画
- html - 粘性位置 + 顶部的 Flex 对齐锚点
- java - Thymeleaf 未在页面上显示正确的字符串,但从模型中正确打印
- javascript - Cheerio 找到以字符串开头的类的孩子
- javascript - getConnectedNodes 方向参数
- kotlin - 为什么服务器会出现 Kotlin 编译错误?
- javascript - 如何合并两个数组并按位置排列结果?
- javascript - Firebase 身份验证和 MongoDB 数据库
- java - 获取 java.lang.IllegalAccessError:当我尝试将 menuBar 添加到我的程序时,超类访问检查失败
- javascript - 如何将 javascript 数组与 html 文件连接?