web-dev-qa-db-ja.com

Uncaught TypeError:URLはElectronのWHATWG URLオブジェクトサポートを使用するコンストラクタではありません

WHATWG URLオブジェクトサポートを使用してファイルを読み取ろうとしています here

そして、私はこのエラーを取得しています: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);
23
Ana Houa

私は同じ問題に直面した後、URLモジュールを調べて解決策を見つけました

For Node V6 use、

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

または

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

モジュールを調べると、5つのメソッドのうち1つがUrlであるため、Urlにアクセスする必要がある場合は、2つのメソッドのいずれかを使用できます。

39
Kowsalya

Node 8の代わりにNode 6を使用していますか?

ノード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

33
jrc

ノードv10

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');
7
Tal Z

この情報を取り出したドキュメントは、nodeバージョン8.4.0

うまくいかない場合は、nodeのバージョンが6.11.2。次に、URLの大文字と小文字を変更します-

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

urlモジュールはUrlではなくURLをエクスポートするためです。

7
user4447655