Two*_*ois 5 javascript node.js typescript
如果我扩展本地导出的类,它就可以工作。
工作示例:
export class classA {
constructor() {
super();
}
}
export class classB extends classA {
constructor() {
super();
this.do();
}
private do(): void {
// do something
}
Run Code Online (Sandbox Code Playgroud)
但是当我从文件外部导入 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
}
}
Run Code Online (Sandbox Code Playgroud)
文件结构:
Root/
- index.ts
- classA(folder)/
- index.ts
- classA.ts
- classB(folder)/
- index.ts
- classB.ts
Run Code Online (Sandbox Code Playgroud)
classA文件夹内的index.ts文件:
export * from './classA';
Run Code Online (Sandbox Code Playgroud)
根index.ts文件:
export * from './classB';
export * from './classA';
Run Code Online (Sandbox Code Playgroud)
错误消息:类 classB 扩展 _1.classA TypeError:类扩展值未定义不是构造函数或 null
我需要从这个文件外部加载,因为我想在其他文件中使用 classA...知道为什么会发生这种情况吗?
[已解决]:在根index.ts文件中,顺序必须是:
export * from './classA';
export * from './classB';
Run Code Online (Sandbox Code Playgroud)
在根 index.ts 文件中,顺序必须是:
export * from './classA';
export * from './classB';
Run Code Online (Sandbox Code Playgroud)