2013-01-21 61 views
6

我想將同一模塊中的類定義拆分爲多個文件。 所以我喜歡這個,它工作。TypeScript:將模塊拆分爲多個文件

a.ts: 
module MyModule{ 
    class ClassA{ 
    } 
} 

b.ts: 
module My Module{ 
    class ClassB{ 
    } 
} 

然後我試圖在ClassB的使用ClassA和這樣做:

b.ts: 
///<reference path="a.ts"/> 
module MyModule{ 
    class ClassB{ 
     private a:ClassA; 
    } 
} 

但它沒有工作; 「ClassA」需要在b.ts中是「MyModule.ClassA」,儘管它們在同一個模塊中。

我更喜歡上面這樣簡單的方法。 你有什麼想法嗎?

module MyModule{ 
    export class ClassA{ 
    } 
} 

我不知道爲什麼你需要做的這是真的,他們是同一模塊的一部分 - 但這似乎是這樣的:

回答

2

您可以通過類公共解決您的問題。

+0

非常感謝。它的工作。我這樣做的原因是源文件在一個文件中會非常大。基本上ClassA不需要公開,所以這有點不舒服,但我認爲它比以前更好。 – uhyoooooo

+0

將模塊分割成多個文件是很好的做法,所以在這裏沒有任何爭論。 – Fenton

+0

我不認爲這是正確的解決方案,因爲它改變了ClassA的語義。我意識到這是如何TypeScript實現這一點,但仍然。 – Buzzy