200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > NodeJS 导入包的时候出现的 @types 错误导致程序无法运行

NodeJS 导入包的时候出现的 @types 错误导致程序无法运行

时间:2023-09-26 14:13:37

相关推荐

NodeJS 导入包的时候出现的 @types 错误导致程序无法运行

在一次开发 NodeJS 项目的时候,我们希望包的导入是用 import 导入的方式。

但是在具体导入的时候发现是使用@types导入的。

如果上面的图显示的导入方式,结果结果是导致程序错误无法运行。

问题和原因

尽管我们在包的配置文件中添加了需要导入的包的版本。

"bluebird": "^3.5.1",

但是我们发现还是没有正确的使用,还是使用的是@types的方式。

@types

经过一些研究,有时候@types这个的使用是因为在 JS 世界中有很多的包不是通过 TypeScript 进行开发的,使用是普通的 JS 。

为了让使用 JS 的库能够在 TypeScript 上使用,那么我们在导入的时候需要添加@types

但是我们的这个问题是,我们并没有添加需要的@types/bluebird, 但是这个是从哪里来的呢?

这个时候,我们需要找到这个包导入的依赖了。

在导入这个包所在项目的文件夹中,打开 package.json 这个文件。

在这个文件中也没有找到这个包的依赖,也不是使用types 定义的。

只能从项目中的依赖找原因了。

在这个文件中,我们会看到

"_requiredBy": ["/@types/request-promise"],

这个就是让@types/bluebird导入的元凶了,因为这个类型是@types的,所以我们按照@types导入了 bluebird。

但是实际使用的时候,我们的程序使用的是另外的一种导入方式。

因此,针对这个问题,我们最简单的办法就是将/@types/request-promise从你的包的依赖中删除。

这样就能解决我们上面遇到的问题了。

NodeJS 导入包的时候出现的 @types 错误导致程序无法运行 - 前端 - OSSEZ

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。