繁体   English   中英

NodeJs 中的@types/node package 是什么?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM