我正在尝试使用WHATWG网址对象支持here
来阅读文件我收到此错误:未捕获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);
答案 0 :(得分:37)
我遇到了同样的问题,然后我查看了url模块并找到了解决方案
对于Node V6 使用,
const URL = require('url').Url;
或
const { Url } = require('url');
如果您查看该模块,它会导出5个方法,其中一个是Url,因此如果您需要访问Url,则可以使用这两种方法之一
答案 1 :(得分:31)
您使用的是Node 6而不是Node 8吗?
'use strict';
var http = require('http');
var fs = require('fs');
var pdf = require('html-pdf');
http.createServer(function (req, res) {
fs.readFile('./PDFFormat.html', 'utf8', function (err, html) {
if (err) {
//error handling
}
pdf.create(html).toStream(function (err, stream) {
if (err) {
//error handling
}
res.writeHead(200, {
'Content-Type': 'application/force-download',
'Content-disposition': 'attachment; filename=file.pdf'
});
stream.pipe(res);
});
});
}).listen(8080, '127.0.0.1');
console.log('Server running at http://127.0.0.1:8080/');
https://nodejs.org/dist/latest-v6.x/docs/api/url.html#url_url
const url = require('url');
const myUrl = url.parse('http://example.com');
const myUrlString = url.format(myUrl);
https://nodejs.org/dist/latest-v8.x/docs/api/url.html#url_url
答案 2 :(得分:7)
您提取此信息的文档适用于版本8.4.0
的{{1}}。
如果它不适合您,则表示您的node
版本为6.11.2
。然后,只需更改URL
-
const { Url } = require('url');
const myUrl = new Url('http://example.com');
因为url
模块导出Url
,而不是URL
。
答案 3 :(得分:3)
URL类
v10.0.0 |现在,该类在全局对象上可用。
如此处所述:https://nodejs.org/docs/latest-v10.x/api/url.html#url_class_url
所以这应该在没有require('url')
的情况下起作用:
const myUrl = new URL('http://example.com');