URL未在node.js中定义

时间:2018-09-29 08:26:03

标签: node.js url

let url = new URL("https://stackoverflow.com/questions/ask")

它将收到如下错误:

  

URL未定义

实际上,在现代浏览器中,它运行良好。但是,如果您在node.js环境中运行它,则会收到类似的错误。

我研究了documentation,它说这是一个全球课程:

  

与浏览器兼容的URL类,通过遵循WHATWG URL实现   标准。在标准本身中可以找到解析的URL的示例。   URL类在全局对象上也可用。

那有什么问题?

3 个答案:

答案 0 :(得分:22)

尝试添加此行:

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

完整的示例在这里:

var URL = require('url').URL;
var myURL = new URL('http://www.example.com/foo?bar=1#main');

console.log(myURL.host);

// prints 'www.example.com'

所有这些都来自this很棒的教程。

答案 1 :(得分:2)

URL是全局变量。确保您使用的是Node.js 10或更高版本。使用版本v8.11.2时,我遇到了同样的问题。

您可以使用以下命令在Mac OS上升级节点

brew upgrade node

或从nodejs官方网站下载。

答案 2 :(得分:1)

有时候,您只需要更改节点的本地版本:

例如:nvm use 12.18.3

但请更早检查您已经拥有nvm list的哪些版本