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