ローカルにエクスポートされたクラスを拡張すると、そのクラスが機能します。typescriptインポートされたクラスを持つクラスを拡張する
の作業例:
export class classA {
constructor() {
super();
}
}
export class classB extends classA {
constructor() {
super();
this.do();
}
private do(): void {
// do something
}
しかし、私は、ファイルの外からクラスAをインポートするとき、それは動作していません。
動作しない例: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
クラスAフォルダ内index.tsファイル:
export * from './classA';
ルートindex.tsファイル:
export * from './classB';
export * from './classA';
エラーメッセージ: クラスのClassBが_1.classA TypeError例外を拡張します。クラスは、未定義の値が、私は他のファイルにクラスAを使用したいと思いますので、このファイルから外部にロードする必要がコンストラクタまたはnull
ない拡張。どんな考えがなぜ起こるか? 【解決】
: ルートindex.tsでは、注文があるとしたファイル:
あなたは '../ index.ts'ためのコードを投稿することができますか? 'class A'を' default'としてエクスポートしていますか? – rossipedia
@rossipediaファイル構造とindex.tsファイルの内容で質問を更新しました – Twois
classAをclassBで直接参照してみませんか? '../classA/classA'からimport {classA}を実行します。 – Poku