node.js - node - Error de tipo no detectado: la URL no es un constructor que utiliza el soporte de objetos WHATWG URL para electron
url module node (4)
Nodo v10
Clase de URL
v10.0.0 | La clase ahora está disponible en el objeto global.
Como se mencionó aquí: https://nodejs.org/docs/latest-v10.x/api/url.html#url_class_url
Así que esto debería funcionar sin require(''url'')
:
const myUrl = new URL(''http://example.com'');
Estoy intentando leer un archivo utilizando el soporte de objetos URL WHATWG here
y recibo este error: TypeError no detectado: la URL no es un constructor
Aquí está mi código:
var fs = require("fs");
const { URL } = require(''url'');
var dbPath = ''file://192.168.5.2/db/db.sqlite'';
const fileUrl = new URL(dbPath);
¿Está utilizando el nodo 6 en lugar del nodo 8?
Nodo 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
Nodo 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
Los documentos que sacó esta información son para el node
de la versión 8.4.0
.
Si no funciona para usted, eso significa que su node
es de la versión 6.11.2
. Entonces, solo cambia la letra mayúscula de la URL
-
const { Url } = require(''url'');
const myUrl = new Url(''http://example.com'');
porque el módulo url
exporta Url
, no URL
.
Me enfrenté al mismo problema, luego miré el módulo de url y encontré una solución
Para uso del Nodo V6 ,
const URL = require(''url'').Url;
o
const { Url } = require(''url'');
Si observa el módulo, exporta 5 métodos, uno de los cuales es Url, por lo que si necesita acceder a Url, puede usar cualquiera de los dos métodos.