我有以下TypeScript类:
class AnyBackendRoute {
public getProps() {...}
}
class AnyBFFRoute extends AnyBackendRoute {
public getProps() {...}
}
class UserSignUpRoute extends AnyBFFRoute {
public getSomethingElse() {...}
}
我将它们转换为commonJS-ES6,并将它们包含在另一个文件(.js)中。
在原始代码中(在测试文件中,在编译之前),我可以很容易地做到:
const route = new UserSignUpRoute()
// getProps() visible from AnyBFFRoute as it's a public method
console.log(route.getProps())
但当我对transpiled代码(其中还包含.d.ts文件)尝试同样的操作时,我会得到一个TypeScript错误:
Type 'UserSignUpRoute' is missing the following properties from type 'AnyBFFRoute': getProps
在转换后的代码中,我希望能找到以下内容:
UserSignUpRoute.prototype.getProps = function () {
return this.props;
};
但它不在那里!同样,在适当的情况下
.d.ts
文件我看不见
getProps()
方法,但仅限于本地公共方法。
我认为这些方法应该在
用户注册路由.js
也
如果是,为什么存在不一致,以便我可以调用
route.getProps()
在预传输的代码中而不是之后?