[英]Error: inject() must be called from an injection context - Upgraded angular 8 to 9
我在启用 Ivy 的情况下将我的 angular 应用程序从 8 升级到了 9。 现在应用程序正在正确构建,但是当我执行服务时,我在控制台中遇到错误 -
Error: inject() must be called from an injection context
at injectInjectorOnly (VM29 vendor.js:32922)
at Module.ɵɵinject (VM29 vendor.js:32933)
at Object.A11yModule_Factory [as factory] (VM29 vendor.js:8401)
at R3Injector.push.../../node_modules/@angular/core/__ivy_ngcc__/fesm5/core.js.R3Injector.hydrate (VM29 vendor.js:195954)
at R3Injector.push.../../node_modules/@angular/core/__ivy_ngcc__/fesm5/core.js.R3Injector.get (VM29 vendor.js:195771)
at VM29 vendor.js:195809
at Set.forEach (<anonymous>)
at R3Injector.push.../../node_modules/@angular/core/__ivy_ngcc__/fesm5/core.js.R3Injector._resolveInjectorDefTypes (VM29 vendor.js:195809)
at new NgModuleRef$1 (VM29 vendor.js:209242)
at NgModuleFactory.push.../../node_modules/@angular/core/__ivy_ngcc__/fesm5/core.js.NgModuleFactory.create (VM29 vendor.js:209302)
Angular:
"@angular-devkit/build-angular": "0.901.1",
"@angular-devkit/build-ng-packagr": "~0.901.1",
"@angular/cli": "^9.0.1",
"@angular/compiler-cli": "^9.1.1",
任何人有任何想法? 任何帮助将不胜感激。
我不知道根本原因和发生了什么。 我刚刚删除了工作区,git 再次克隆了项目,这个问题就消失了。 奇怪的!!
我们最近注意到了这个问题,我们希望这个解决方案对某人有所帮助。
在我们的例子中,这个问题是在导入特定的 Angular 库(自定义)时发生的。
解决方案是在导入库的项目的angular.json
文件中将preserveSymlinks
设置为true
。
$.projects.<<PROJECT_NAME>>.architect.build.options.preserveSymlinks: true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.