2012-10-05 96 views
1

比方說,我有一個翻譯模塊,我只想導入法語翻譯文件。我想要做這樣的事情:如何在TypeScript中只導入模塊的一部分?

import french = module("./translations").french; 

相似,你怎麼可以在CommonJS的一個require做。

是否有可能在TypeScript中做這樣的事情,還是我將不得不導入整個模塊,只是做這樣的事情?

import translations = module("./translations"); 
var french = translations.french; 

回答

2

這實際上是在某些情況下相當合理的做法。不幸的是,目前這不被TypeScript支持;導入聲明的語法不允許將其打散(見規範第9.2.2節)。這是我們未來可以改進的地方。我建議在Codeplex網站上提交問題。

1

如果你只需要你的模塊的一部分,這聽起來像你的模塊設計可能是錯的 - 即你應該有一個模塊代表了你所需要的,使你們不需要到另一個模塊的東西。

例如,每種語言都有一個模塊。

+1

我同意。在問題中給出的語言示例可以很好地用分層模塊結構來設計,使得單獨的語言對應於子模塊。 – Valentin

+0

這並沒有真正解決這個問題:通常你不能自由地編輯正在使用的模塊。 – Roly

+1

@Roly在那種情況下,我會試圖在模塊上寫適配器 - 或者也許是語言工廠。 – Fenton

相關問題