2013-03-08 96 views
2

我正在使用TypeScript編譯一些相互引用的文件。這些文件相互引用。TypeScript不編譯引用的文件

問題是當我編譯它們時,它包含了它引用的文件的編譯內容。

實施例:

// in Foo.ts 
class Foo {} 

// in Bar.ts 
/// <reference path='./Foo.ts'/> 
class Bar extends Foo {} 

如果我試圖只是編譯Bar.ts還將包括FOO中的代碼的輸出。

基於另一個線程(如下所述),它看起來像是在使用--out參數時執行此操作。但是,我需要使用out參數,但不希望它鏈接(因爲我會自己把事情掛鉤)。

有沒有人有任何想法如何區分這兩個功能的位?

注意: 這不是Referencing TypeScript file includes whole file in output的重複,因爲這純粹是爲了使用Web Essentials。我直接使用命令行編譯器,但問題類似。

回答

2

如果您將目錄名稱(而不是文件名稱)傳遞給-out開關,則會分別進行編譯。您需要0.8.2或更高版本來執行此操作。

+0

問題在於我希望能夠在沒有額外代碼的情況下執行單個文件(與Symfony中的Assetic一起使用,它一次只能處理一個文件)。我已經發現,如果我不使用-out,它可以工作,但是使用它或者不會改變它的功能是很奇怪的。這看起來像是一個不必要的相關特徵。 +1,因爲我不知道。 = p – samanime 2013-03-08 21:56:53

+1

我標記爲答案,因爲它技術上給了我需要的解決方案......只是不是我想要的解決方案。 = p – samanime 2013-03-25 17:43:58

1

我患有同樣的事情。關於它的Here is a discussion on codeplex,它也參考bug regarding references。如果有幫助,請投票支持。

我們正在建立一個模塊化的SDK,所以這個重複的代碼是一個真正的問題。我們最終只使用了Visual Studio工具的引用,以及用於生成JavaScript的自定義構建系統。系統爲所有依賴模塊構建.d.ts decl,然後使用這些decl來構建相關模塊,傳遞--noresolve標誌以防止<reference ...>被拾取。

相關問題