gpt4 book ai didi

angular - 无法读取未定义的属性 'ngModule'

转载 作者:行者123 更新时间:2023-12-04 11:55:13 37 4
gpt4 key购买 nike

我在应用程序上有三个模块,其中一个是主模块,用于其他两个模块。
当我启动应用程序并直接转到导入主模块的这些模块之一时,浏览器控制台中会显示此错误:

core.js:4117 ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'ngModule' of 

undefined
TypeError: Cannot read property 'ngModule' of undefined
at isModuleWithProviders (core.js:26882)
at expandModuleWithProviders (core.js:26876)
at Array.map (<anonymous>)
at Function.get (core.js:26534)
at registerNgModuleType (core.js:24758)
at core.js:24769
at Array.forEach (<anonymous>)
at registerNgModuleType (core.js:24769)
at new NgModuleFactory (core.js:24872)
at Compiler_compileModuleSync__POST_R3__ (core.js:27732)
at resolvePromise (zone.js:832)
at resolvePromise (zone.js:784)
at zone.js:894
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421)
at Object.onInvokeTask (core.js:28122)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420)
at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188)
at drainMicroTaskQueue (zone.js:601)
但是当我再次启动应用程序并直接转到主模块时(他工作并且一切正常),然后我转到导入主模块而不是工作的模块之一。
我认为问题在于在这两个模块中加载主模块。
但我不知道是什么引起了这种 react 。
如果有人建议尝试解决此解决方案的方法,只需提出建议即可。

最佳答案

如上所述,错误是由 引起的模块导入 .
如何找到错误的准确位置?
(尤其是在具有多个相互依赖模块的复杂项目中,例如在我们团队的项目中)

core.js:26131 Uncaught TypeError: Cannot read property 'ngModule' of undefinedat isModuleWithProviders (core.js:26131)at expandModuleWithProviders (core.js:26125)at Array.map ()at Function.get (core.js:25781)at registerNgModuleType (core.js:24103)at core.js:24114at Array.forEach ()at registerNgModuleType (core.js:24114)at new NgModuleFactory$1 (core.js:24211)at compileNgModuleFactory__POST_R3__ (core.js:27755)


在浏览器的开发工具中,在发生错误的行(在本例中为 core.js:26131)放置一个调试断点。那里的代码对我们没有多大帮助,因为它是错误记录功能(可能是 defaultErrorLogger )。然而,当断点被触发时,我们可以继续使用我们的开发工具 调用栈回到真正发生错误的以下代码(或类似代码):
function isModuleWithProviders(value) {
return value.ngModule !== undefined;
}
value 时发生错误未定义,所以我们可以在这里放置一个条件断点 !value ,什么将显着加快错误追踪过程(仅在错误的模块导入时触发)。
当条件断点被触发时,我们可以再次向上调用调用栈,直到 get我们可以访问的方法 moduleType.name查找导致错误的模块的名称。
第二部分 ,我们打开具有该名称的模块,我们可以使用分而治之的方法,通过注释模块导入,直到错误消失。

关于angular - 无法读取未定义的属性 'ngModule',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63953065/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com