繁体   English   中英

Angular 11.0.5 生产版本 - Class 扩展值未定义不是构造函数或 null

[英]Angular 11.0.5 production build - Class extends value undefined is not a constructor or null

在 Angular 11.0.5 的生产构建(即ng b --prod )中,web 页面 output 出现以下错误:

在此处输入图像描述

如果我在生产构建期间禁用优化(即通过ng b --prod --optimization=false ),问题就会消失。

我怀疑循环引用是在 Webpack 过程之一中意外创建的。

谢谢。

[Edit1]:包含源map后,错误如下:

详细错误

edit-form.service.ts:11指的是: export class EditFormService extends BehaviorSubject<Opportunity[]>

来自 edit-form.service.ts 的顶部片段:

import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { Opportunity } from 'src/app/shared/models/opportunity.model';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { APIService } from '../../api/API.service';
import { SharepointRequest } from 'src/app/shared/models/sharepoint.model';

@Injectable({
    providedIn: 'root',
})
export class EditFormService extends BehaviorSubject<Opportunity[]> {
    constructor(private APIService: APIService) {
        super(Array<Opportunity>());
    }

请注意,我确实已经初始化了构造函数(即通过super(Array<Opportunity>()); 。不知道从这里到哪里。

我正在寻求进一步排除故障的建议。

事实证明,存在一个循环依赖。

使用 madge ( https://www.npmjs.com/package/madge )并通过运行命令npx madge --circular --extensions ts./ ,我能够在opportunity.model.ts中找到循环依赖。model.ts 并解决它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM