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í:
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:
Publicación traducida automáticamente
Artículo escrito por devrajkumar1903 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA