【问题标题】:URL is not a function node.jsURL 不是函数 node.js
【发布时间】:2026-01-29 22:25:02
【问题描述】:

我一直在尝试使用此处描述的节点 js 的 url 模块:https://nodejs.org/api/url.html#url_url,但我似乎无法让简单的示例工作。我希望能够构建一个 url,但是使用以下代码,

const URL = require('url');
const apiUrl = new URL('myapi.com/');
apiUrl.searchParams.set('tickers', tickers);
console.log(apiUrl.href);

我遇到了 URL 不是函数的错误。我也尝试过网站建议初始化 URL 的另一种方式,如

const { URL } = require('url');

但这会导致第一个左括号出现语法错误。 如何使用 url 模块来实际操作 url?

编辑:

根据 MinusFour 的建议,我现在到了这里:

const URL = require('url').Url;
const apiUrl = new URL('myapi.com/');
console.log(apiUrl);
apiUrl.search = 'tickers=[\'msft\']';
console.log(apiUrl.href);

这确实可以编译并运行而不会引发错误,但会记录日志

Url {
  protocol: null,
  slashes: null,
  auth: null,
  host: null,
  port: null,
  hostname: null,
  hash: null,
  search: null,
  query: null,
  pathname: null,
  path: null,
  href: null }
null

这并不是我所希望的。

【问题讨论】:

标签: javascript node.js url require


【解决方案1】:

这是模块的一个属性:

const URL = require('url').URL;

【讨论】:

    【解决方案2】:

    如果您使用的是 Node 6.x,那么您必须改用 URL.parse

    【讨论】: