我正在使用一个小型的webapp,我正在使用typescript,node.js,express和mongodb。
我有这个超级类,我想要继承其他两个类。课程如下。当我编译时,尝试继承的两个类抱怨超类(给出相同的错误): " [类文件路径(在本例中为A)]不是构造函数类型"
A.ts
export class A
{
//private fields...
constructor(username: string, password: string, firstName: string,
lastName: string, accountType: string)
{
// initialisation
}
}
B.ts
import A = require('./A);
export class B extends A
{
constructor(username: string, password: string, firstName: string,
lastName: string, accountType: string)
{
super(username, password, firstName, lastName, accountType);
}
}
C.ts
import A = require('./A );
export class C extends A
{
constructor(username: string, password: string, firstName: string,
lastName: string, accountType: string)
{
super(username, password, firstName, lastName, accountType);
}
}
这非常简单,但C类和B类无法编译。我在网上看到的所有例子都没有任何其他语法来编写这些类/构造函数。我试图遵循惯例,但似乎无法让它发挥作用。
任何帮助将不胜感激!谢谢你的阅读。
答案 0 :(得分:16)
替换
import A = require('./A');
与
import { A } from './A';
或
import moduleA = require('./A');
export class B extends moduleA.A {
// ...
}