2014-03-04 19 views
1

Typescript使用xml標記<reference path=""/>定義註釋以將本地文件發送到當前文件。但是,在聲明任何其他模塊之類的結構之前,該標記只能放在文件頭中。在TypeScript中可能需要文件內容「原樣」嗎?

所以,

// File1.ts - correct 
///<reference path="./Common.ts"/> 
module Test { 
    export class TestClass { 
    } 
} 

// File2.ts - incorrect 
module Test { 
    ///<reference path="./Common.ts"/> // <<< Here is an compile error 
    export class TestClass { 
    } 
} 

是否有可能採購到當前文件的自定義地點等打字稿文件的內容?

+0

此引用的作用類似'classpath',以便編譯器知道在何處查找引用類型。它與代碼結構沒有關係。 – setec

+0

但是,tsc編譯器包含文件內容並將其放置於'reference'標記(我試圖用--out選項編譯)。 –

+0

很有趣,因爲我從來沒有見過這樣的行爲。當我編譯ts時,它使js保持/// setec

回答

1

號你不能要求就地代碼因爲你已經發現:

// File2.ts - incorrect 
module Test { 
    ///<reference path="./Common.ts"/> // <<< Here is an compile error 
    export class TestClass { 
    } 
} 

但是你可以有效地得到使用功能相同的效果。

// File1.ts - correct 
///<reference path="./Common.ts"/> 
module Test { 

    callAFunctionFoundInCommon(); 

    export class TestClass { 
    } 
} 
+0

這不是我想要的。但我試圖找到解決問題的另一種方法 –

1

在最新版本的TypeScript中,不需要像那樣手動引用文件。您可以簡單地刪除引用,TypeScript將能夠自動計算出所有內容。

+0

他希望將common.ts中的代碼複製到特定部分:) – basarat

+1

我絕對不應該對SO上的問題做出迴應在晚上。 :) –

相關問題