TypeError:无法读取未定义的属性“ ngInjectableDef”

时间:2020-04-15 09:24:02

标签: angular

我目前正在开发一款运行良好的应用,突然我收到了此错误。除了我们在Angular 8上工作,而另一个开发人员在Angular 9上工作之外,没有任何改变。合并代码后,此错误开始随机出现。

我删除了node_modules文件夹并运行npm cache clean --force,并进行了全新的npm安装,但仍然出现此错误。任何帮助将不胜感激。

错误是:

ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'ngInjectableDef' of undefined
TypeError: Cannot read property 'ngInjectableDef' of undefined
    at getInjectableDef (core.js:361)
    at resolveNgModuleDep (core.js:30377)
    at NgModuleRef_.get (core.js:31578)
    at injectInjectorOnly (core.js:734)
    at ɵɵinject (core.js:744)
    at injectArgs (core.js:837)
    at core.js:16346
    at _callFactory (core.js:30486)
    at _createProviderInstance (core.js:30429)
    at resolveNgModuleDep (core.js:30388)
    at resolvePromise (zone-evergreen.js:797)
    at resolvePromise (zone-evergreen.js:754)
    at zone-evergreen.js:858
    at ZoneDelegate.invokeTask (zone-evergreen.js:391)
    at Object.onInvokeTask (core.js:39680)
    at ZoneDelegate.invokeTask (zone-evergreen.js:390)
    at Zone.runTask (zone-evergreen.js:168)
    at drainMicroTaskQueue (zone-evergreen.js:559)
    at ZoneTask.invokeTask [as invoke] (zone-evergreen.js:469)
    at invokeTask (zone-evergreen.js:1603)

1 个答案:

答案 0 :(得分:0)

除了SO上已有的其他答案外,我还将发布我的发现,因为这可能会在将来对其他人有所帮助。

其他一名开发人员从应用程序中删除了一个服务文件并检入了代码。我们合并了,一切都很好。

ng build --prod很好

ng serve很好地满足了应用程序的要求

该应用程序正常运行,但是当我们导航到该文件仍被引用并注入到构造函数中的组件时,出现了此问题。 Visual Studio 2019没有出现任何错误,因此有点奇怪。

可能是一种罕见的情况,因为没人会大量删除文件,但希望这对其他人有帮助,以防他们遇到这种情况。