首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用TypeScript编写npm模块

用TypeScript编写npm模块
EN

Stack Overflow用户
提问于 2015-06-19 08:52:16
回答 4查看 35.6K关注 0票数 108

我正在开发我的第一个npm模块。我之前曾短暂地使用过TypeScript,一个很大的问题是,对于许多模块,没有可用的定义文件。所以我认为用TypeScript编写我的模块是个好主意。

然而,我找不到任何关于最好的方法的信息。我发现了一个相关的问题"Can I write npm package in CoffeeScript?“,人们建议只发布JavaScript文件。但与CoffeeScript文件不同的是,如果在TypeScript应用程序中使用TypeScript文件,那么它们实际上可能很有用。

我应该在发布npm模块时包含TypeScript文件,还是应该只发布JavaScript文件并将生成的.d.ts文件提供给DefinitelyTyped?

EN

回答 4

Stack Overflow用户

发布于 2017-03-05 07:24:17

您应该发布原始的typescript源代码,而不是类型定义。在package.json中,让“types”属性指向*.ts文件。

*.d.ts可以很好地注释现有的JS库,但作为使用者,我宁愿阅读typescript代码,也不愿在类型定义和低级的、生成的JS代码之间切换。

票数 6
EN

Stack Overflow用户

发布于 2017-03-31 19:56:19

我主要遵循Varun Chatterji的建议。

但是,我想展示一个完整的示例,其中包含单元测试和代码覆盖率,并将其发布到npm中,然后使用javascripttypescript导入它们

此模块是使用typescript 2.2编写的,在将代码发布到npm之前,配置prepublish挂钩以使用tsc编译代码非常重要

https://github.com/sweetim/haversine-position

https://www.npmjs.com/package/haversine-position

票数 5
EN

Stack Overflow用户

发布于 2015-08-19 00:04:57

您可以在没有Atom IDE支持的情况下,使用autodts处理来自npm的.d.ts文件的分发和使用。

autodts generate会将您自己的所有.d.ts文件捆绑在一起,以便在npm上发布,而autodts link会处理对其他已安装包的引用,这些包可能并不总是直接位于拆分为几个子包的较大项目的node_modules下。

这两个命令都以“约定重于配置”的方式从package.jsontsconfig.json中读取它们的设置。

在stackoverflow上有another answer,还有一个有更多细节的blog post

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30928253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档