2016-06-14 20 views
0

我遇到了一個問題,如果使用方法:一個文件 - 打字稿項目中的一個類,如下例所示。如何在多個文件的輸出打字稿中優化模塊命名空間,使用gulp

文件Greeter.ts

module App { 
    export class Greeter { 
     constructor(public greeting: string) { } 
     public greet() { 
      return "<h1>" + this.greeting + "</h1>"; 
     } 
    }; 
} 

文件Program.ts

module App { 
    export class Program { 
     private _greeter = new Greeter("Hello, world!"); 
     public main() { 
      document.body.innerHTML = this._greeter.greet(); 
     } 
    }; 
} 

結果文件

var App; 
(function (App) { 
    var Greeter = (function() { 
     // class code 
    }()); 
    App.Greeter = Greeter; 
})(App || (App = {})); 

var App; 
(function (App) { 
    var Program = (function() { 
     // class code 
    }()); 
    App.Program = Program; 
})(App || (App = {})); 
// point of entry 
var program = new App.Program(); 
program.main(); 

可以看出重複申報應用。我想排除任何重複這樣的:

var App; 
(function (App) { 
    var Greeter = (function() { 
     // class code 
    }()); 
    App.Greeter = Greeter; 

    var Program = (function() { 
     // class code 
    }()); 
    App.Program = Program; 
})(App || (App = {})); 
// point of entry 
var program = new App.Program(); 
program.main(); 

否則,當大量的類,它變成了很多多餘的代碼輸出文件。

也許我錯了某處?

---- ----更新

該項目由一飲而盡,CONCAT一飲而盡,打字稿建設,也許存在包,它允許避免這種情況?

example on github

+0

不是說它可以解決重複問題這麼多,但也許你可以嘗試使用'gulp-uglify'來縮小連接文件? – dafyddPrys

+0

@dafyddPrys,施工'var App; (函數(應用程序){...'不好最小化,可以看到[這裏](https://github.com/coddwrench/GulpTypeScriptExample/blob/master/build/min/output.js) –

回答

相關問題