繁体   English   中英

使用 typescript 模块进行 Browserify - 什么是最佳设计实践?

[英]Browserify with typescript modules - what are best design practices?

我有一个 browserify javascript 项目,我在其中包含带有require语句的模块。 我现在正在添加一些打字稿,当我只require编译的 javascript 时它工作正常。

但是打字稿也有自己的module语句。 这与 browserify/node 的模块有什么关系? 我应该同时使用两者吗? 这似乎是多余的。 应该使用哪种类型的模块,在什么情况下? 谢谢。

在较新版本的 TypeScript (1.5) 中,不推荐使用该module以支持namespace关键字。 关键字用于创建内部模块 - 允许您在内部组织代码。

所以现在更明显的是,这些是不同的东西。 仍然 TypeScript 提供了创建浏览器/节点模块的能力 - 外部模块。 为此,您可以使用ES6 模块语法或更旧的 TypeScript 语法。 然后使用 browserify 插件(例如 tsify)进行更方便的构建。

可以在此处找到有关 TypeScript 模块和命名空间的更多文档(还描述了旧的外部模块语法)

应该使用哪种类型的模块取决于开发人员的项目和品味。 如果您的目标是 Node.js,那么值得使用 CommonJS 模块(恕我直言,TS 中的 ES6 语法并将其转换为 CommonJS)。 如果您使用的是 browserify,那么使用外部模块也是合理的。 建议命名空间仅在一个文件中使用 - 因此是内部模块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM