¿Cómo anular las funciones del módulo en Node.js?

Anular significa no cambiar la definición original de ningún objeto o módulo, sino cambiar su comportamiento en el escenario actual (donde se ha importado o heredado). Para implementar la anulación, vamos a anular la función de ‘ url ‘, el módulo integrado de nodeJS . Veamos los pasos necesarios para anular un módulo:

  • En primer lugar, requiere el módulo que queremos anular.
const url = require('url')
  • Luego elimine la función del módulo que queremos anular. Aquí anularíamos la función format() del módulo ‘url ‘
delete url['format']
  • Ahora agregue la función con el mismo nombre ‘ formato ‘ para proporcionar una nueva definición a la función format() del módulo
url.format = function(params...) {
    // statement(s)
}
  • Ahora vuelva a exportar el módulo ‘ url ‘ para que los cambios surtan efecto
module.exports = url

Veamos paso a paso para implementar el código de trabajo completo:

Paso 1: Cree un archivo » app.js » e inicialice su proyecto con npm .

npm init

La estructura del proyecto quedaría así:

Estructura del proyecto/archivo

Paso 2: ahora codifiquemos el archivo » app.js «. En él, seguimos todos los pasos mencionados anteriormente para anular un módulo. Después de esos pasos, habrá anulado con éxito la función format() del módulo ‘ url’ . Encuentre el código de trabajo completo a continuación en el que se muestra el comportamiento de la función format() antes de anularla y después.

app.js

// Requiring the in-built url module
// to override
const url = require("url");
  
// The default behaviour of format()
// function of url
console.log(url.format("http://localhost:3000/"));
  
// Deleting the format function of url
delete url["format"];
  
// Adding new function to url with same
// name so that it would override
url.format = function (str) {
  return "Sorry!! I don't know how to format the url";
};
  
// Re-exporting the module for changes
// to take effect
module.exports = url;
  
// The new behaviour of export() function
// of url module
console.log(url.format("http://localhost:3000/"));

Paso 3: Ejecute su aplicación de Node usando el siguiente comando. 

node app.js

Producción:

salida en consola

Publicación traducida automáticamente

Artículo escrito por devrajkumar1903 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *