ソースを複数のモジュール(異なるファイル)にパッケージ化するプロジェクトに取り組んでいます。これを行うのは、全体の重量を減らすために、特定のページに特定の部分のみを含めることができるようにするためです。
私が抱えている問題は、外部モジュールのエイリアスを作成できる構文を理解できないことです。また、モジュール全体を毎回書き出す必要はありません(通常、組織のABCDのようなものであるため)。 )。
コンパイルすると、すべてのファイルを取得するスクリプトがあるので、最初のパラメーターとして外部定義ファイルがあります。
モジュール全体を書き出すと(A.B.C.D.MyClass)
、それを認識します。私がやろうとすると:
module MyModule {
import ABCD = A.B.C.D;
export MyClass {
//...
public myFunc(obj:ABCD.MyClass) {}
}
}
それは私にそれを教えてくれます'The name "ABCD" does not exist in the current scope."'
重要な場合は、すべてのクラスをエクスポートしますが、モジュールはエクスポートしません。含まれている定義ファイルを生成します(したがって、コンパイルすると、ABCDを含む定義ファイルがリストの最初になります)。
何か案は?
アップデート
ファイル構造を詳しく説明すると、次のようになります。
- A
- B
- a.ts
- b.ts
- C
- c.ts
- d.ts
- B
そして、他の場所でも私は持っているかもしれません:
- A
- D
- e.ts
- f.ts
- E
- g.ts
- h.ts
- D
この場合、最初のセットを次のようなものでコンパイルして、ABtsのようなものに組み込みます。
tsc A/B/a.ts A/B/b.ts A/B/C/c.ts A/B/C/d.ts --out A.B.ts --declarations
次に、次のパッケージに移動すると、次のようになります。
tsc /path/to/A.B.d.ts A/D/e.ts A/D/f.ts A/D/E/g.ts A/D/E/h.ts --out A.D.ts --declarations
私は、指定した一連のファイルを繰り返し処理することにより、これらのコンパイラコマンドを動的に構築し、それらのコンパイラのものを取得します。