[英]What is @types/node package in NodeJs?
我正在使用 Node v10,发现在使用库时存在依赖性问题。
在ldapjs
库中, lib\url.js
使用const url = require('url')
然后parsedURL = new url.URL(urlStr)
将字符串解析为 ZE6B391A38D2C4D857A8B
我收到此错误:
Unhandled Rejection (TypeError): url.URL is not a constructor
使用这行代码: parsedURL = new url.URL(ldapurl)
在我的 React 项目中。
但是,在我的环境下, 'url'
实际上是指node_modules\@types\node\url.d.ts
不包含任何.URL(str)
方法,因此是错误的。
什么是@types/node
? 是否与 TypeScript 有关? 我不在我的项目中使用 TypeScript。 我可以删除它吗?
如果我在终端中运行 Node,它可以正常工作:
> const url = require('url')
undefined
> let purl = new url.URL("https://google.com")
undefined
> console.log(purl)
URL {
href: 'https://google.com/',
origin: 'https://google.com',
protocol: 'https:',
username: '',
password: '',
host: 'google.com',
hostname: 'google.com',
port: '',
pathname: '/',
search: '',
searchParams: URLSearchParams {},
hash: '' }
问题是什么?
直接取自@types/node npm package :
此 package 包含 Node.js ( http://nodejs.org/ ) 的类型定义。
在节点中使用 typescript 时,此 package 用于加载所有类型定义。 添加其他包时,如果默认情况下不包含它们,则还必须添加它们的类型。
例如,假设您想在 typescript 应用程序中使用lodash
,您还需要安装类型定义 ( @types/lodash
)。
当您不使用 typescript 时,您无需担心这一切。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.