我正在尝试从nodejs api导入URL类,这样我就可以解析网址并检索它们的来源,主机名和路径。
我正试着打字
import * as URL from "url";
我也试过了
import { URL } from "url";
我似乎无法让这个为我工作。任何帮助将不胜感激。
我试图使用它的方式就是这样
var site = new URL("http://www.website.com");
它抛出错误,因为它声明URL不是构造函数
答案 0 :(得分:18)
URL constructor是作为节点v7.0的一部分引入的。如果您使用节点> = v7.0,import { URL } from "url";
是导入它的正确方法。确保您使用的是最新版本的节点类型:
npm install --save-dev @types/node
如果你的节点版本是< 7.0然后你可以使用parse
方法:
import * as url from "url";
var site = url.parse("http://www.website.com");
答案 1 :(得分:1)
如果有人想知道如何使用URL
以便代码可以在Node.js和浏览器环境之间移植,那么我来了以下解决方案:
import * as nodeUrl from "url";
const URL = typeof window !== "undefined" ? window.URL : nodeUrl.URL;
答案 2 :(得分:0)
import * as url from 'Url';
{ parse: [Function: urlParse],
resolve: [Function: urlResolve],
resolveObject: [Function: urlResolveObject],
format: [Function: urlFormat],
Url: [Function: Url]
}
它不是构造函数。您需要使用其中一种公开的方法:
import * as url from 'url';
console.log(url.parse('https://www.google.com'))
// Output:
Url {
protocol: 'https:',
slashes: true,
auth: null,
host: 'www.google.com',
port: null,
hostname: 'www.google.com',
hash: null,
search: null,
query: null,
pathname: '/',
path: '/',
href: 'https://www.google.com/' }
undefined
>