2013-05-21 67 views
4

我需要此功能將TypeScript中的庫分配到單個文件中。有沒有辦法將多個打字稿文件合併爲一個js文件+一個打字稿定義文件?將多個打字稿文件合併到一個打字稿定義文件中

+0

對不起,你是什麼意思刪除所有的靜態信息? Typescript將聯繫到一個單一的文件,你是否使用類似這樣的引用?:'''/// ''' – 7zark7

+0

@ 7zark7使問題更加明確。現在應該清楚了。 – basarat

+0

應該將TypeScript庫作爲TypeScript還是JavaScript以及關聯的定義文件進行分發? – MiMo

回答

5

要創建可以按如下編譯庫:

tsc --out mylib.js --declaration app.ts 

這意味着你的編譯的JavaScript和打字稿定義文件,它仍然是一樣簡單的打字稿使用,如果它是一個單一的TypeScript文件。

您不需要指定要組合的所有文件,編譯器將遍歷所有依賴關係,並按正確的順序將它們全部導入到一個文件中。在上面的示例中,我只指定了app.ts,但所有參考文獻都將被執行,並且它們將全部納入合併的mylib.js和相關的mylib.d.ts文件中。

+1

恐怕作者想要將多個TypeScript文件合併到一個TypeScript文件中,而不是將JavaScript文件用作.ts文件。 示例:如果他具有File1.ts,File2.ts,...,FileN.ts,他想運行一個生成TheUltimateSingleFileTypeScriptLibrary.ts的命令,以便他可以部署他的TypeScript庫供其他開發人員在其項目中使用。 也許我錯了,但那是我對他的問題的理解。 – jfoliveira

+0

@JefersonOliveira是正確的。此外 - 多個文件的聲明爲每個文件生成一個.d.ts文件。我今天早上測試了它:https://github.com/basarat/ts-test/tree/master/tests/compileToSingle如果是(一個js +一個d.ts),我會好起來的 – basarat

+0

早上的課程是aussie時間伴侶:) – basarat