概述、编写、发布
以.d.ts
结尾的文件
为JS代码提供类型声明
手动编写 自动生成
工程是使用ts开发的,发布(编译)之后,是js文件,发布的是js文件。
如果发布的文件,需要其他开发者使用,可以使用声明文件,来描述发布结果中的类型。
配置tsconfig.json
中的declaration:true
即可
对已有库,它是使用js书写而成,并且更改该库的代码为ts成本较高,可以手动编写声明文件
对一些第三方库,它们使用js书写而成,并且这些第三方库没有提供声明文件,可以手动编写声明文件。
全局声明
声明一些全局的对象、属性、变量
namespace: 表示命名空间,可以将其认为是一个对象,命名空间中的内容,必须通过
命名空间.成员名
访问
模块声明
三斜线指令
在一个声明文件中,包含另一个声明文件
编译完成后,将编译结果所在文件夹直接发布到npm上即可
发布到@types/**中。
1) 进入github的开源项目:https://github.com/DefinitelyTyped/DefinitelyTyped
2) fork到自己的开源库中
3) 从自己的开源库中克隆到本地
4) 本地新建分支(例如:mylodash4.3),在新分支中进行声明文件的开发
在types目录中新建文件夹,在新的文件夹中开发声明文件
5) push分支到你的开源库
6) 到官方的开源库中,提交pull request
7) 等待官方管理员审核(1天)
审核通过之后,会将你的分支代码合并到主分支,然后发布到npm。
之后,就可以通过命令npm install @types/你发布的库名