如果我扩展本地导出的类,它可以工作。
工作示例:
export class classA {
constructor() {
super();
}
}
export class classB extends classA {
constructor() {
super();
this.do();
}
private do(): void {
// do something
}
但是当我从文件外部导入classA时,它无法正常工作。
不是工作示例:
import { classA } from '../'; // I use index.ts file, so the reference is good.
export class classB extends classA {
constructor() {
super();
this.do();
}
private do(): void {
// do something
}
}
文件结构:
Root/
- index.ts
- classA(folder)/
- index.ts
- classA.ts
- classB(folder)/
- index.ts
- classB.ts
classA文件夹中的index.ts文件:
export * from './classA';
root index.ts文件:
export * from './classB';
export * from './classA';
错误讯息: class classB扩展_1.classA TypeError:类扩展值undefined不是构造函数或null
我需要从此文件加载外部,因为我想在其他文件中使用classA ...任何想法为什么会发生这种情况?
[解决] : 在根index.ts文件中,顺序必须是:
export * from './classA';
export * from './classB';
答案 0 :(得分:2)
在根index.ts文件中,顺序必须是:
export * from './classA';
export * from './classB';
答案 1 :(得分:1)
直接导入classA。试试这个:
import { classA } from '../classA/classA';
export class classB extends classA {
constructor() {
super();
this.do();
}
private do(): void {
// do something
}