如何通过声明文件(*.d.ts)
更系统的学习和了解Node.js(内置模块和全局方法,对象,第三方库)?
一:第三方库声明文件
初衷:一般我们在使用一个库或者方法时,会去看这个库的说明文档、百度查找资料、使用IDE查看API说明 或者其他方式,但是Node.js这里,由于历史原因,很多库并没有声明文件,导致使用IDE,比如VSCode时,引用了库和方法,但是在IDE里却看不到这个方法该传什么参 ,还有的参数类型,返回值等等。
比如 Express
最新的版本里面也是没有声明文件,然后使用时不得不去查看文档,由于文档也不定是最新或者并不方便查询时,总是使效率不高。
至此微软建立了一个叫 DefinitelyTyped 的项目,号召发挥社区的力量,为那些没有声明文件的库编写声明文件。
比如 Express
的声明文件库就是 @types/express
, 在npmjs里面查看具体信息, 安装:npm install --save @types/express
,装好以后,在VSCode就可以清楚的查看到这个库所有的方法,参数,和字段的意思(如下图),声明文件和官方文档一般来说是最权威的,不用去看网上那些良莠不齐的帖子了。
Node.js的声明文件库,是以 @types/packagename
起名的,比如@types/express
@types/koa
等等,如果安装的第三方已经有声明文件了,就不需要自己再安装了。也不是所有第三方库都有的,比如nacos的node.js sdk
就没有,安装前去npmjs
查一下,或者安装时也会报错说没有这个库的。
二:Node.js的内置模块和全局方法,对象
初学者想知道Node.js的内置模块和全局方法,对象全部都有哪些,以及每个里面所有的API介绍等等? 可以去 Node.js 中英文官方文档查看,这里虽然已经是很好的文档说明了,但是仍然还不够完美,比起声明文件里面少了更加详细的说明,还有API使用示例。
比如 http
模块,在VSCode
里面新建一个js
文件,写下这句代码,按住Ctrl + 右键
进去,就可以看到http
模块的全部API
和用法声明了
const http = require("http");
同时我们还可以直接查看到所有内置模块和全局方法,对象等等,如下图:
很多时候当我们上手了Node.js
以后,希望可以更深一步学习时,我们想要更加系统的资源和文档时,在网上找的可能不是我们想要的,同时会有很多的错误和复制料贴的东西(比如CSDN里面的很多帖),声明文件是一个很好的学习使用资料。
比如内置模块已经有的API但是你并不知道,使用第三方库来完成,知道后也可以使用内置模块API替代,可以减少模块依赖,也是不错的。
结尾,声明文件
并不是万能的,也不是唯一的,只是其中的一种方法,是Node.js生态更加完善的表现之一, 不过如果我们能对自己使用的库的声明文件很熟,相信你使用起来这个库也能更加的得心应手,在编写程序和更加深入了解原理时也能给你更多的思路和方案。