20
使用打字機在nodejs中導入模塊的最佳做法是什麼?我來自C#背景,因此我想要做這樣的事情nodejs中的TypeScript模塊導入
MyClass.ts
module MyNamespace {
export class MyClass {
}
}
app.ts
// something like using MyNamespace
new MyNamespace.MyClass();
或
MyClass.ts
export class MyClass {
}
app.ts
import MyClass = module("MyClass")
new MyClass();
我知道我能做到這一點,它會工作,但後來我想出了兩個名稱爲每個類
import MyClass2 = module("MyClass")
new MyClass2.MyClass();
點將類分隔爲多個.ts文件(最好每個類一個文件)。所以問題是,這是如何完成的?
那麼第二種方法看起來不錯。但目前我正在使用visual studio和nodejs,在這種情況下,我應該如何處理第二種方法,是否必須將所有文件(通過一些單獨的工具)合併到一個.js中?如果是瀏覽器,我應該只添加每個.js到
您可以導入打字稿模塊插入使用typescript-require模塊,這是爲這一特定目的創建的node.js文件。
來源
2013-01-02 01:05:45
我會建議不要使用顯式
module
(或namespace
)關鍵字,它是一個較早的時間一殘剩。*您一般不需要它們,因爲有一個頂級的任何打字稿文件import
或export
自動一個是模塊。你的第二個myModule.ts的例子很好。但是當你把它導入到另一個打字稿模塊,你要使用這樣的:
就個人而言,我不喜歡1號線的重複性,但它是什麼語言要求,所以我學會了接受它。我認爲這種語法的效用並不明顯,除非你放棄每類文件模式。您可以從模塊中選擇要導入的名稱,以免發生意外的名稱空間污染。
另一種導入語法從模塊中提取所有名稱,但在使用模塊時必須使用模塊限定名稱。因此它也是名稱碰撞抵抗。
也有例外約不需要
module
/namespace
關鍵字的一般規則,但不要集中在他們開始。認爲文件==模塊。來源
2017-05-19 03:36:26