突然发现,npm里request依赖包已经弃用,怎么办?


摘要:在npm官网查看了request依赖包的当前状态,果然在2020年就被弃用了。

本文分享自华为云社区《npm里request依赖包已经弃用?致敬并调研替代方案!》,作者: gentle_zhou。

在这个月的代码审视中,发现一个js项目里仍然在使用request依赖包进行下载操作,依稀记得这个依赖包应该在2019年就已经进入维护状态了(即只会维护当前代码,修复bug,但不会接收新特性或则发行主要版本)。

加上最近在做MD5文件校验,但是每次对通过request方法下载下来的资源进行MD5求值,获得的结果都不一样,于是就对request依赖包产生了怀疑(后来经过开发测试发现,其实和request依赖包没啥关系,request仍然可以使用;但是因为是弃用状态,还是建议替换掉)。

于是立马上npm官网去查看了下这个依赖包的当前状态,果然在2020年就被弃用了。官网的链接:https://github.com/sindresorhus/got/discussions/1978
而如果使用前一个版本11.8.3,则会发生在网页CloudIDE上连接超时的错误(怀疑和proxy有关):
– https://github.com/sindresorhus/got/issues/1572。

还有一种替代方案是直接使用Node.js标准库里的HTTP 和 HTTPS模块,无需安装外部软件包,但是同样地也会带来弊端就是使用起来并不友好,会繁琐很多。

这里感谢小伙伴的链接分享~

  1. https://github.com/request/request/issues/3142

 

点击关注,第一时间了解华为云新鲜技术~