加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular库构建错误:TypeError:无法读取属性’type’的null

发布时间:2020-12-17 17:11:28 所属栏目:安全 来源:网络整理
导读:在Angular v6中,当我尝试构建我的库时,我遇到了一个非常不具描述性的BUILD ERROR无法读取null的属性’type’ BUILD ERRORCannot read property 'type' of nullTypeError: Cannot read property 'type' of null at /Users/John/apps/tests/service-work/node_
在Angular v6中,当我尝试构建我的库时,我遇到了一个非常不具描述性的BUILD ERROR无法读取null的属性’type’

BUILD ERROR
Cannot read property 'type' of null
TypeError: Cannot read property 'type' of null
    at /Users/John/apps/tests/service-work/node_modules/@angular/compiler/bundles/compiler.umd.js:15378:27
    at Array.forEach (<anonymous>)
    at removeSummaryDuplicates (/Users/John/apps/tests/service-work/node_modules/@angular/compiler/bundles/compiler.umd.js:15377:11)
    at TemplateParser.tryParseHtml (/Users/John/apps/tests/service-work/node_modules/@angular/compiler/bundles/compiler.umd.js:14806:34)
    at TemplateParser.tryParse (/Users/John/apps/tests/service-work/node_modules/@angular/compiler/bundles/compiler.umd.js:14799:21)
    at TemplateParser.parse (/Users/John/apps/tests/service-work/node_modules/@angular/compiler/bundles/compiler.umd.js:14780:27)
    at AotCompiler._parseTemplate (/Users/John/apps/tests/service-work/node_modules/@angular/compiler/bundles/compiler.umd.js:20483:43)
    at AotCompiler._createTypeCheckBlock (/Users/John/apps/tests/service-work/node_modules/@angular/compiler/bundles/compiler.umd.js:20250:23)
    at /Users/John/apps/tests/service-work/node_modules/@angular/compiler/bundles/compiler.umd.js:20220:27
    at Array.forEach (<anonymous>)

已经解决了这个问题,我正在发布这篇文章,以帮助其他人遇到这个问题.

解决方法

更新

似乎我对这个问题的诊断是不正确的(现在已经很久了,我记不清楚我是如何修复的). Check out this issue in the Angular repo听起来像是正确的诊断,

原始答案:

所以在经过大量的调试之后,我发现了它:

我的自定义库,我们称之为库A,将另一个自定义库库B导入库A的NgModule.库B从它的主要NgModule中导出了几个组件和模块.问题是,当库B从它的NgModule导出组件和模块时,我也无法通过javascript / typescript导出这些组件和模块.解决方案是确保通过我在NgModule中导出的typescript导出任何组件/模块.

示例问题代码

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { LibraryBComponent } from './library-b.component';

@NgModule({
  imports: [CommonModule],declarations: [LibraryBComponent],exports: [LibraryBComponent],})
export class LibraryBModule {}

解决方案代码

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { LibraryBComponent } from './library-b.component';

export { LibraryBComponent }      // <-- addition

@NgModule({
  imports: [CommonModule],})
export class LibraryBModule {}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读