Typescriptで名前空間を正しく使用していない可能性がありますが、解決しようとしている問題は次のとおりです。
クラスを作成するとき、次のように require を使用して、他のすべてのファイルを参照する必要があります。
import DependencyModule = require("Path.../DependencyModule");
import DependencyClass = DependencyModule.DependencyClass;
次のようなクラスを構築できるようにする場合は、毎回これらの 2 行を追加する必要があります。
var class = new DependencyClass();
私のプロジェクトは大規模なものにする予定で、すでにいくつかのクラスが必要なので、このファイルを一度だけ参照する必要があるように、すべてのクラスへの参照を持つ ClassStore.ts という名前のファイルを作成する必要がありました。
import ModulesStore = require("ClassStore");
var class = new ModulesStore.DependencyClass();
これを行うことは可能ですか?名前空間で何か不足していますか?
複数のエクスポートを含むファイルからインポート クラスとインターフェイスをエクスポートしようとすることに注意してください。1 つはインターフェース用で、もう 1 つはその実装用です。
私のプロジェクト (DependencyClass.ts) の典型的なファイル アーキテクチャは次のとおりです。
export interface IDependencyClass { ... }
export class DependencyClass { ... }
「ClassStore」で試したのは次のとおりです。
// ClassStore.ts
export import DependencyModule = require("DependencyClass");
// Other file needing the DependencyClass
import ClassStore = require("ClassStore");
var class = new ClassStore.DependencyModule.DependencyClass();
次のエラーが表示されます: Uncaught TypeError: 未定義のプロパティ 'DependencyClass' を読み取れません。
ご協力ありがとうございました。