Uncaught TypeError: URL is not a constructor using WHATWG URL object support for electron

て烟熏妆下的殇ゞ 提交于 2019-11-30 10:57:55

I faced the same issue, then I looked into the url module and found a solution

For Node V6 use,

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

or

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

If you look into the module, it exports 5 methods one of which is Url, so if you need to access Url, you can use either of the two methods

Are you using Node 6 instead of Node 8?

Node 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

Node 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

The docs you took this info out are for the node of version 8.4.0.

If it does not work for you, that means that your node is of version 6.11.2. Then, just change the letter case of URL -

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

because url module exports Url, not URL.

Node v10

URL Class

v10.0.0 | The class is now available on the global object.

As mentioned here: https://nodejs.org/docs/latest-v10.x/api/url.html#url_class_url

So this should work without require('url'):

const myUrl = new URL('http://example.com');
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!