Estaba buscando el módulo de URL cuando encontré la URL tanto en JavaScript como en Node.js.
Tengo algunas preguntas:
URL de JavaScript es diferente de la URL de Node.js?URL en Node.js y las funciones de JavaScript?URL se conoce como un objeto global. Entonces, ¿ya no necesita solicitar un módulo de url ?Clase de URL compatible con el navegador, implementada siguiendo el estándar de URL WHATWG. Se pueden encontrar ejemplos de URL analizadas en el propio estándar. La clase URL también está disponible en el objeto global .
Dentro de la plataforma de objetos globales, también vi los módulos http , path , os , etc.
Quería usar los módulos os y path sin necesidad (porque están dentro de objetos globales) pero la ejecución de mi archivo falló:
> node test.js console.log(path); // ReferenceError: path is not definedTambién escribí el siguiente código, pero el valor indefinido se imprimió en la salida:
console.log(global.path); // undefinedPero cuando los uso en REPL, devuelve el siguiente resultado:
<ref *1> { resolve: [Function: resolve], normalize: [Function: normalize], isAbsolute: [Function: isAbsolute], join: [Function: join], relative: [Function: relative], toNamespacedPath: [Function: toNamespacedPath], dirname: [Function: dirname], basename: [Function: basename], extname: [Function: extname], format: [Function: bound _format], parse: [Function: parse], sep: '\\', ... ...Gracias por tu atención. Estoy esperando tu repuesta.
require('url') si solo desea la clase de URL o URLSearchParams.Mencionas que algunos módulos están en el objeto global:
http, ruta, sistema operativo, etc.
Sin embargo, la documentación no establece eso en ninguna parte. Por el contrario, estos son módulos que necesita require() usted mismo. La URL está documentada como parte del objeto global, y es cierto: es una clase que está disponible en cualquier lugar, como String, Number, Buffer y algunos otros. Esto se hace por compatibilidad con la plataforma Web.
El REPL es especial: incluye una función de usabilidad que carga módulos principales si ve una referencia a ellos. Más detalles aquí: https://nodejs.org/api/repl.html#accessing-core-nodejs-modules
Esto significa que algún código puede comportarse de manera diferente en REPL y cuando se ejecuta directamente a través de node .