编写声明文件
一般来讲,你组织声明文件的方式取决于库是如何被使用的。在JavaScript中一个库有很多使用方式,这就需要你书写声明文件去匹配它们。
比如使用 declare var 声明变量。如果变量是只读的,那么可以使用 declare const。你还可以使用 declare let 如果变量拥有块级作用域。
declare var foo: number;
现在我们已经按照指南里的步骤写好一个声明文件,是时候把它发布到 npm 了。有两种主要方式用来发布声明文件到 npm:
1、与你的 npm 包捆绑在一起,或
2、发布到 npm上的 @types organization。
推荐第一种方式。这样的话,你的声明文件与 JavaScript 总是在一起发布。
如果你的包有一个主 .js
文件,你还是需要在 package.json 里指定主声明文件。设置 types 属性指向捆绑在一起的声明文件。比如:
{
"name": "awesome",
"author": "Vandelay Industries",
"version": "1.0.0",
"main": "./lib/main.js",
"types": "./lib/main.d.ts"
}
发布到 npm 上的 @types,@types 下面的包是从 DefinitelyTyped 里自动发布的,通过 types-publisher 工具。如果想让你的包发布为 @types 包,提交一个 pull request 到https://github.com/DefinitelyTyped/DefinitelyTyped 公共组织机构。
当编写了声明文件之后,安装的 npm 包会有 vscode 代码提示,当编写代码的时候会出现对应的 API 语法提示内容。
评论