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.0
的node
。
如果它不适合你,那就意味着你的node
是版本6.11.2
。 然后,只需更改URL
的字母大小写 –
const { Url } = require('url'); const myUrl = new Url('http://example.com');
因为url
模块导出Url
,而不是URL
。