2014-01-21 105 views
4

我有內部打字模塊,這個模塊分成幾個文件。將多個文件內部模塊編譯成一個文件AMD模塊

a.ts

/// <reference path='_all.ts' />  
module A { 
    // some code 
} 

b.ts

/// <reference path='_all.ts' />  
module A { 
    // some code 
} 

_all.ts

/// <reference path='a.ts' /> 
/// <reference path='b.ts' /> 

是否可以編譯這個模塊到一個文件,並使其AMD模塊?

一般來說,我該如何「導入」內部模塊到外部?例如,當我嘗試添加新的文件export.ts:

/// <reference path='_all.ts' /> 
export module B { 
    //some code that using module A 
} 

和飼料export.ts到TSC,它編譯它export.js AMD模塊,但不包括「A」模塊代碼在所有。

EDITED 實施例:https://gist.github.com/artemkozlov/8550165

回答

1

要編譯到單個文件中使用--out FILE命令行參數。這會將所有內部模塊合併到一個文件中。作爲AMD使用-m amd編譯所有外部模塊。在這兩種情況下,您還需要-d,因爲它會生成一個聲明文件以便與其他項目一起引用。

無法編譯多個內部模塊並生成一個外部模塊。見12790262/how-to-spread-module-across-multiple-amd-files

+0

soo'tsc a.ts b.ts --out out.js -m amd -d' should work? – basarat

+0

是的,它會生成一個單獨的js文件和一個'''out.d.ts''文件,您可以在其他項目中引用它。 –

+0

謝謝你的回答。但它似乎並不像我期待的那樣工作。它不會生成單個輸出文件。這是我正在做的和我得到的結果https://gist.github.com/artemkozlov/8550165 – aindl

相關問題