我有一堂课,看起来像这样:
export class Service1 {
constructor(endpoint ? : string) {
this.thing = endpoint
}
async put(): Promise < String > {
// do something
}
}
在另一个ts文件中,我想扩展该类以添加更多方法,因此在该文件中,我将执行以下操作:
import { Service1 } from 'src/services/Service1';
export class Service2 extends Service1 {
constructor(endpoint?: string) {
super(endpoint);
this.maybeSomethingElse = new Whatever({endpoint});
}
async doThings(params: any): Promise < any > {
try {
// Do some other things
} catch (error) {
throw error;
}
}
}
当我将其与webpack捆绑在一起时,我会在已编译的JS中看到这一行:
exports.Service1 = new Service1_1.Service1();
在测试中执行以下代码时又会导致此错误:
Service1_1.Service1不是构造函数
我尝试使用 exports default 还将错误更改为:
Service1_1.default不是构造函数
如果我删除了 Extends 和 super()调用,则只需使其成为一个独立的类就可以了。
如何在没有此 X不是构造函数错误的情况下扩展此类并添加功能?