English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Fonction de remplacement du module Node.js - dans certainsDans certains cas, vous souhaitez améliorer les fonctionnalités existantes en redéfinissant un module. Dans ce tutoriel Node.js, nous allons apprendre à redéfinir les fonctionnalités des modules Node.js.
Pour redéfinir une fonction existante dans un module Node.js, suivez les instructions étape par étape suivantes :
La première étape pour remplacer une fonction dans le module consiste à inclure le module lui-même en utilisant la fonction require.
var newMod = require('<module_name>');
Nous avons récupéré le module dans la variable.
Utilisez la syntaxe suivante pour supprimer une fonction dans le module newMod.
delete newMod['<function_name>'];
Rappelez-vous que les modifications apportées ne concernent que la variable de module newMod, et non le module original lui-même.
Dans le module newMod, utilisez la variable, ajoutez une fonction ayant le même nom que celle supprimée à l'étape précédente en utilisant la syntaxe suivante.
newMod.<function_name> = function(function_parameters) { // corps de la fonction };
Vous devez redéfinir l'exportation du module pour que la fonction remplacée prenne effet.
module.exports = newMod;
Maintenant, vous pouvez utiliser la variable newMod pour le module pour appeler la fonction et exécuter la fonction modifiée.
Dans cet exemple, nous allons remplacer la fonction readFile() du module Node fs.
La première étape pour remplacer une fonction dans un module consiste à inclure le module lui-même en utilisant la fonction require.
// Incluez le module que vous souhaitez remplacer var fs = require('fs'); // Supprimez la fonction que vous souhaitez remplacer delete fs['readFile']; // Ajouter une nouvelle fonction portant le même nom que la fonction supprimée fs.readFile = function(str){ console.log("La fonctionnalité a été remplacée."); console.log(str); } // Redéfinir l'exportation du module pour que les modifications prennent effet module.exports = fs // Vous pouvez utiliser la fonction couverte nouvellement pour fs.readFile("sample.txt");
Résultat de la sortie
~/espace de travail/nodejs$ node node-js-remplacement-fonction-dans-module.js
Message de la fonction ajoutée récemment au module
sample.txt
Réécrire la fonction readFile() peut ne pas être une bonne idée, mais c'est suffisant pour la démonstration.
Dans ce tutoriel -Réécriture des fonctionnalités des modules Node.js,nous avons appris à utiliser des exemples de programmes Node.js pour couvrir les fonctionnalités des modules Node.js.