如何通过声明文件更系统的学习和了解Node.js?

217 阅读3分钟

如何通过声明文件(*.d.ts)更系统的学习和了解Node.js(内置模块和全局方法,对象,第三方库)?

一:第三方库声明文件

初衷:一般我们在使用一个库或者方法时,会去看这个库的说明文档、百度查找资料、使用IDE查看API说明 或者其他方式,但是Node.js这里,由于历史原因,很多库并没有声明文件,导致使用IDE,比如VSCode时,引用了库和方法,但是在IDE里却看不到这个方法该传什么参 ,还有的参数类型,返回值等等。

比如 Express 最新的版本里面也是没有声明文件,然后使用时不得不去查看文档,由于文档也不定是最新或者并不方便查询时,总是使效率不高。

至此微软建立了一个叫 DefinitelyTyped 的项目,号召发挥社区的力量,为那些没有声明文件的库编写声明文件。

比如 Express 的声明文件库就是 @types/express , 在npmjs里面查看具体信息, 安装:npm install --save @types/express ,装好以后,在VSCode就可以清楚的查看到这个库所有的方法,参数,和字段的意思(如下图),声明文件和官方文档一般来说是最权威的,不用去看网上那些良莠不齐的帖子了。

1639293519(1).jpg

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");

同时我们还可以直接查看到所有内置模块和全局方法,对象等等,如下图:

image.png

很多时候当我们上手了Node.js以后,希望可以更深一步学习时,我们想要更加系统的资源和文档时,在网上找的可能不是我们想要的,同时会有很多的错误和复制料贴的东西(比如CSDN里面的很多帖),声明文件是一个很好的学习使用资料。

比如内置模块已经有的API但是你并不知道,使用第三方库来完成,知道后也可以使用内置模块API替代,可以减少模块依赖,也是不错的。

结尾,声明文件并不是万能的,也不是唯一的,只是其中的一种方法,是Node.js生态更加完善的表现之一, 不过如果我们能对自己使用的库的声明文件很熟,相信你使用起来这个库也能更加的得心应手,在编写程序和更加深入了解原理时也能给你更多的思路和方案。