Ana*_*oli 9 pubnub typescript angular-cli ng-modules angular
我对“platformBrowserDynamic().bootstrapModule(app.app_module)”调用有问题,错误消息是“未捕获的错误:断言错误:传入的类型不是 NgModuleType,它没有 '?mod' 属性”。但是我可以在调试过程中看到这个属性: AppModule NgModule proto emod property
app.app_module 是一个新的 @NgModule 实例,用于引导我的自定义应用程序组件。我使用了打字稿。有没有人知道为什么会发生这种情况?
另外这里还有源 JS 代码https://gist.github.com/sunnygleason/74e84acd0a03a925ec901594723ce876 我正在将它转换成 Typescript Angular CLI 项目。这是 https://github.com/AnatoliYatskevich/WIA
我更改的特定文件是: https: //github.com/AnatoliYatskevich/WIA/blob/master/src/main.ts https://github.com/AnatoliYatskevich/WIA/blob/master/src/index.html https: //github.com/AnatoliYatskevich/WIA/blob/master/src/app/app.component.ts https://github.com/AnatoliYatskevich/WIA/blob/master/src/app/app.module.ts
工具 WebStorm,来自https://www.pubnub.com/docs/angular2-javascript/pubnub-javascript-sdk 的示例格式。
谢谢
该错误是由于错误的模块导入而发生的(有时它被抛出为“无法读取未定义的属性 'ngModule'”,这也在更深的级别设置为“传入的类型不是 NgModuleType,它没有 '?mod' 属性”)。所以下面的程序(对两种情况都做了一些调整)
如何找到错误的准确位置? (尤其是在具有多个相互依赖模块的复杂项目中,例如在我们团队的项目中)
core.js:26131遗漏的类型错误:无法读取属性'ngModule'的未定义 在isModuleWithProviders(core.js:26131)在expandModuleWithProviders(core.js:26125)在Array.map()在Function.get(core.js:25781 ) 在 registerNgModuleType (core.js:24103) at core.js:24114 at Array.forEach () at registerNgModuleType (core.js:24114) at new NgModuleFactory$1 (core.js:24211) at compileNgModuleFactory__POST_R3__ () )
在浏览器的开发工具中,在发生错误的行(在本例中为 core.js:26131)放置一个 Debug 断点。那里的代码对我们没有多大帮助,因为它是错误记录功能(可能defaultErrorLogger)。然而,当断点被触发时,我们可以继续我们的开发工具调用堆栈,直到以下代码(或类似代码)真正发生错误:
function isModuleWithProviders(value) {
return value.ngModule !== undefined;
}
Run Code Online (Sandbox Code Playgroud)
当value未定义时会发生错误,因此我们可以在此处放置一个带有条件的条件断点!value,这将显着加快错误追踪过程(仅在错误的模块导入时触发)。
当条件断点被触发时,我们可以再次向上调用调用堆栈,直到get我们可以访问的方法moduleType.name找到导致错误的模块的名称。
在第二部分中,我们打开具有该名称的模块,在那里我们可以使用分而治之的方法,通过注释模块导入,直到错误消失。
| 归档时间: |
|
| 查看次数: |
7764 次 |
| 最近记录: |