1
我有一個帶有不同外部模塊的TypeScript項目。例如,我導入與下面的語句的模塊,它工作Typescript - 加載外部模塊並轉換爲單個JS文件
import myExternalModule = module("http://mylocalapphost/tsmodules/mod1");
var myObject = new myExternalModule.importedInteface('var1', 'var2');
當我轉換的.ts與TSC到.js文件,我只得到這樣的:
var myExternalModule = require("http://mylocalapphost/tsmodules/mod1");
但我需要在這個.js-File中執行模塊,就像內部模塊一樣。我該怎麼做?
這是兩個文件(壞命名對不起......):
// 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文件帶所有導入模塊/班等等,因爲應用運行在服務器上(沒有連接到本地服務器,模塊放置在哪裏),如下所示:
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);
我認爲我的問題不清楚。我在外部文件中有一些模塊(例如在本地主機上),並且我想在.js文件中導入模塊,因爲應用程序不應該在運行時加載模塊。 – user1829815
在這種情況下,我會使用'/// <引用...'而不是導入語句,因爲導入語句用於在運行時加載。通過引用,你可以捆綁腳本或者讓TypeScript編譯器捆綁它們:'tsc --out combined.js File1.ts File2.ts' – Fenton