J'essaie de lire un fichier en utilisant le support d'objet URL WHATWG ici
et j'obtiens cette erreur: Uncaught TypeError: l'URL n'est pas un constructeur
voici mon code:
var fs = require("fs");
const { URL } = require('url');
var dbPath = 'file://192.168.5.2/db/db.sqlite';
const fileUrl = new URL(dbPath);
J'ai fait face au même problème, puis j'ai regardé dans le module d'URL et trouvé une solution
Pour le noeud V6 use,
const URL = require('url').Url;
ou
const { Url } = require('url');
Si vous regardez dans le module, il exporte 5 méthodes, dont l’URL. Si vous devez accéder à l’URL, vous pouvez utiliser l’une ou l’autre des méthodes.
Utilisez-vous le nœud 6 au lieu du nœud 8?
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
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
Les documents que vous avez extraits de cette information sont pour la node
de la version 8.4.0
.
Si cela ne fonctionne pas pour vous, cela signifie que votre node
est de la version 6.11.2
. Ensuite, il suffit de changer la casse de la lettre URL
-
const { Url } = require('url');
const myUrl = new Url('http://example.com');
parce que le module url
exporte Url
, pas URL
.
Classe d'URL
v10.0.0 | La classe est maintenant disponible sur l'objet global.
Comme mentionné ici: https://nodejs.org/docs/latest-v10.x/api/url.html#url_class_url
Cela devrait donc fonctionner sans require('url')
:
const myUrl = new URL('http://example.com');