TypeScriptのモジュールインポート/エクスポートシステムであるで私を逃してしまい、名前を付ける必要がない彼だけが習得した暗い芸術のように感じる... I私は次のインポートを少しクリーナー同じモジュール名で複数のファイルにまたがってTypeScriptをインポートする
B.ts
export module System {
export class Bravo {
constructor(n: number) {
console.log(`Bravo ${n}`);
}
}
}
A.tsを作ることができる方法を理解しようとしている
私は私には、痛み親指のように突き出て、このimport { System as System1 }
extends System1.Bravo
については好きではない何
import {System as System1} from "./B";
export module System {
export class Alpha extends System1.Bravo {
constructor() {
super(123);
}
}
}
!それを清潔にする方法はありますか?
import { System.Bravo } from "./B";
extends Bravo
このような何か?私が実際に達成しようとしているどのようなサイドノートとして
は、名前空間、すなわち
System.Foo.Bar.MyAwesomeClass
の
- 適切な使用です。
- クラスを独自のファイルに分割して、ビルドに必要のないものが含まれないようにします。
- については、木が揺れていますか?
- 依存性を管理するメカニズムとしてエクスポート/インポートを使用します。
私が間違っていれば正解ですが、この場合実際に放出されるコードはnですモジュール内に存在するか、または名前空間(まだ違いが完全には分かっていない)なので、これを使って自分の型をグローバルスコープから隔離するにはどうすればよいですか? – series0ne
あなたのように、モジュールシステムは私にとって大変なことです。私は "module"は非推奨であり、代わりに "namespace"を使うべきだと私は見ているので、 "module"キーワードは使用しません。 – DeeV
タイプの衝突が心配な場合は、衝突のないさまざまなクラスタイプに同じ名前を使用できます。 "default"キーワードを使用すると、 '{Alpha}'のように中括弧でインポートしない限り、インポート時に実際に名前を付けることができます。その場合、 '{Alpha as AnotherAlpha}'を実行する必要があります。しかし、そうでなければ、 './System/Alpha"から 'MySuperAwesomeClass'のような' Alpha'クラスをインポートすることができ、それを 'MySuperAwesomeClass'として使用します。 – DeeV