English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NodeJS Tutorial Básico

NodeJS Express.js

NodeJS Buffer & URL;

NodeJS MySql

NodeJS MongoDB

NodeJS Archivo (FS)

Otras NodeJS

Reescribir funciones de módulos en Node.js

Sobrescribir las funcionalidades de módulos de Node.js

Reemplazo de funcionalidades de módulos de Node.js - en algunosEn el caso de que desee mejorar las funcionalidades de un módulo existente, en este tutorial de Node.js aprenderemos a sobrescribir las funcionalidades de un módulo.

Para sobrescribir una función existente en un módulo de Node.js, siga las siguientes instrucciones paso a paso:

Introducción de módulo

El primer paso para sobrescribir una función en el módulo es incluir el módulo en sí mismo utilizando la función require.

var newMod = require('<module_name>');

Hemos recuperado el módulo en la variable.

Eliminar la función de la variable del módulo

En el módulo newMod, utilice la siguiente sintaxis para eliminar la función.

  delete newMod['<function_name>'];

Recuerde que los cambios realizados solo afectan a la variable de módulo newMod, no al módulo original en sí.

Agregue una función con el mismo nombre a la variable del módulo

En el módulo newMod, utilice la variable, agregue una función con el mismo nombre que la eliminada en el paso anterior con la siguiente sintaxis.

newMod.<function_name> = function(function_parameters) {
 // cuerpo de la función
};

Reexportar el módulo

Debe reexportar el módulo para que la funcionalidad sobreescrita surta efecto.

module.exports = newMod;

Ahora, puede usar la variable newMod para el módulo para llamar a la función y luego ejecutar la funcionalidad sobreescrita.

Ejemplo: Sobreescritura de funcionalidad de módulo de Node.js

En este ejemplo, cubriremos la función readFile() del módulo Node fs.

El primer paso para reescribir la funcionalidad del módulo es incluir el módulo en sí mismo usando la función require.

// Incluir el módulo que se va a cubrir
var fs = require('fs'); 
 
// Eliminar la función que desea cubrir
delete fs['readFile']; 
 
// Agregar una nueva función con el mismo nombre que la función eliminada
fs.readFile = function(str){ 
    console.log("La funcionalidad ha sido sobreescrita."); 
    console.log(str); 
 } 
 
// Reexportar el módulo para que los cambios surtan efecto
module.exports = fs
 
// Puede usar la función cubierta nueva
fs.readFile("sample.txt");

Resultados de salida

~/espacio de trabajo/nodejs$ node node-js-sobreescritura-función-en-module.js 
Mensaje de la función nueva añadida al módulo
sample.txt

Reescribir la función readFile() puede no ser una buena idea, pero es suficiente para la demostración.

Conclusión:

En este tutorial –Reescribir las funciones del módulo Node.js,aprendimos a usar el programa de ejemplo Node.js para cubrir las funciones del módulo Node.js.