既存のコードをモジュールアプローチでtypescriptに変換していますが、typescriptで対処する方法がわかりません。あなたはfeatureNamespace
の機能を別々のファイルにあったとrequirejs経由で読み込まれているとインクルードは、グローバル名前空間オブジェクトに添付された以前は、このTypescriptモジュールがアイテムが名前空間に追加されているかどうかを確認します
featureNamespace = {
feature1: ...,
feature2: ...,
feature3: ...
};
function getFeature(feature: string) {
if (featureNamespace[feature]) {
return featureNamespace[feature];
}
throw `Feature '${feature}' has not been loaded`;
}
を持っていると言います。
モジュラーアプローチでは、私が使用できるグローバル名前空間オブジェクトはありません。私はfeatureNamespace
上に一つのファイルに、例えば、
export module featureNamespace {
export let feature1 = ...
}
を持っており、
export module featureNamespace {
export let feature2 = ...
}
を別のファイルにしてから、何とか、モジュールfeatureNamespace
をインポートし、機能が追加されているチェックするためにそれを使用することはできません?または私はできますか?
オンデマンドでtypescriptで機能をロードする場合、typescriptはモジュールローダーの実装を提供しないため、ローダーを用意する必要があります。 requirejsが実行する場合は、https://www.typescriptlang.org/docs/handbook/modules.htmlの「オプションのモジュール読み込みとその他の高度な読み込みシナリオ」のrequirejsの例もあります。 – artem