给第三方库添加typescript声明文件

场景

  1. 自己编写一个模块时,为了方便别人使用,最好支持typescript
  2. 当使用一些老旧的模块时,如果第三方库本身没有typscript声明文件,导致不能在ts项目中使用

    近些年的npm包都会自带类型声明文件。有些年头的npm包在npm install时没有自带类型声明文件,
    可以查找@types/包名,例如@types/lodash.如果还没有,那么就要自己编写一个类型声明文件,才
    能在支持ts的项目中使用。

编写类型声明文件*.d.ts

typscript官方文档 里介绍的很全面,这里记录下接触过的部分。

一、新建类型声明文件

如果库的入口文件是index.js则要在同级目录新建index.d.ts文件。如果入口是其他文件名,则需要在package.json文件中增加说明字段"types": "./lib/名字.d.ts"

二、编写类型声明代码
  1. 首先判断库的结构。不同结构的库对应的类型声明方式也会有差别。例如
// index.js 简单的工具库举例
function func1(a){}
function func2(b){}
const mylib = {func1, func2}

module.exports = mylib
// index.d.ts 对应的类型声明文件
export = mylib;
export as namespace mylib;
declare namespace mylib {
	function func1(a: string){}
	function func2(b: number){}
}

其他还有很多种结构的库,对应的类型声明文件的写法可以去官网找模板。

补充:发布npm包的流程

  1. npm init 初始化过的项目中,写完代码
  2. 在npm的网站https://www.npmjs.com/注册用户
  3. npm login 使用注册好的用户登录。
    • 除了需要账号密码,还需要使用邮箱接收一个一次性密码用于登录
    • 配置的npm镜像源要指向官方源,因为淘宝的镜像源只读。
  4. npm publish发布到npm中心仓库。成功后,可以在自己的npm主页看到发布的包。大约10分钟后,国内淘宝镜像可以提供下载。
  5. 更新版本时,在执行npm publish之前,要先把package.json中的version版本号改大,否则会失败
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值