1

TypeScript を使用して単一の名前空間を持つ Node.js モジュールを作成しようとしています。モジュールのクラスを個別のファイルに配置し、相互に参照する必要があります。他のノードモジュールを利用するには、このモジュールも必要です。しかし、私が正しく理解していれば、名前空間が単一のファイル内に含まれているか、名前空間が外部モジュールを使用していない場合、TypeScript は名前空間のみをサポートします。

一部の人々は、ビルド後のツールを使用して最終的なモジュールを機能させることを提案しています。これは素晴らしいことですが、開発中にファイル間の名前空間とインポートを組み合わせるときに TypeScript がスローするすべてのエラーに対処しているわけではありません。

最も近い解決策は、ファイルごとにモジュールを作成し、相互インポートの Web を作成することであるというのは本当ですか?

4

1 に答える 1

1

モジュールの依存関係について私にとって最も効果的なのは、常にソース参照を使用することです。

/// <reference path="other.ts" />

言語レベルのインポート/モジュールを使用する場合、tsc から単一ファイルの出力を生成できないためrequire、関数などとして使用することに頼りました。

これは、TypeScript 開発者自身が選択したのと同じソリューションのようです (そこで「require(」を検索してください)。silentorb のコメントで示唆されているように、require関数を次のバリエーションとして宣言できます (または、DefiniteTypedを使用します)。

declare function require(name: string): any;

TS フォーラムでは、TS のモジュール性に関するトピック全体について多くの議論が行われていることに注意してください (最近の例の 1 つ)。

于 2013-09-20T14:53:16.493 に答える