さまざまな外部モジュールを含む TypeScript プロジェクトがあります。たとえば、次のステートメントでモジュールをインポートすると機能します
import myExternalModule = module("http://mylocalapphost/tsmodules/mod1");
var myObject = new myExternalModule.importedInteface('var1', 'var2');
tsc を使用して .ts を .js に変換すると、次のような結果しか得られません。
var myExternalModule = require("http://mylocalapphost/tsmodules/mod1");
しかし、内部モジュールのように、この .js ファイルにモジュールを実装する必要があります。どうすればいいですか?
これは2つのファイルです(名前が悪くてすみません...):
// mod1.ts (at a local server)
export class importedClass {
private prVar: number = 0;
constructor(public var1: string, public var2: string){}
public func1(km: number){
this.prVar += km;
}
public getPrVar(){
return this.prVar;
}
}
// main.ts
import myExternalModule = module(" path to mod1 ");
var myObject = new myExternalModule.importedClass('string var1', 'string var2');
myObject.func1(20);
結果として、次のように、アプリがサーバーで実行されるため (モジュールが配置されているローカル サーバーに接続せずに)、すべてのインポートされたモジュール/クラスなどを含む .js ファイルが1 つ必要です。
var importedClass = (function () {
function importedClass(var1, var2) {
this.var1 = var1;
this.var2 = var2;
this.prVar = 0;
}
importedClass.prototype.func1 = function (km) {
this.prVar += km;
};
importedClass.prototype.getPrVar = function () {
return this.prVar;
};
return importedClass;
})();
var myObject = new importedClass('string var1', 'string var2');
myObject.func1(20);