子类扩展类-x.y不是构造函数

时间:2018-09-14 09:51:00

标签: typescript

我有一堂课,看起来像这样:

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不是构造函数错误的情况下扩展此类并添加功能?

0 个答案:

没有答案
相关问题