Uncaught TypeError:URL不是使用WHATWG URL对象支持电子的构造函数

我正在尝试使用此处的 WHATWG URL对象支持来读取文件

我得到这个错误:Uncaught TypeError:URL不是一个构造函数

这里是我的代码:

var fs = require("fs"); const { URL } = require('url'); var dbPath = 'file://192.168.5.2/db/db.sqlite'; const fileUrl = new URL(dbPath); 

我遇到了同样的问题,在阅读了一些与“不是构造函数”相关的post之后,我查看了url模块,发现了一个解决scheme

在这里

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

用它代替

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

如果您查看模块,它会导出5个方法之一,即Url,所以如果您需要访问Url,则需要按上述方法进行操作。 url模块中的其他4种方法也是如此

你使用节点6而不是节点8?

节点6

 const url = require('url'); const myUrl = url.parse('http://example.com'); const myUrlString = url.format(myUrl); 

https://nodejs.org/dist/latest-v6.x/docs/api/url.html#url_url

节点8

 const { URL } = require('url'); const myUrl = new URL('http://example.com'); const myUrlString = myUrl.toString(); 

https://nodejs.org/dist/latest-v8.x/docs/api/url.html#url_url

您将此信息输出的文档是针对版本8.4.0node

如果它不适合你,那就意味着你的node是版本6.11.2 。 然后,只需更改URL的字母大小写 –

 const { Url } = require('url'); const myUrl = new Url('http://example.com'); 

因为url模块导出Url ,而不是URL