English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Função substituta do módulo Node.js – em algunsCaso queira melhorar a funcionalidade de um módulo existente, neste tutorial Node.js, vamos aprender a sobrescrever funções de módulos Node.js.
Para sobrescrever funções existentes em módulos Node.js, siga as seguintes etapas passo a passo:
O primeiro passo para sobrescrever uma função no módulo é usar a função require para incluir o módulo em si.
var newMod = require('<module_name>');
Já recolhemos o módulo para a variável.
Use a seguinte sintaxe para remover a função ao usar a variável no módulo newMod.
delete newMod['<function_name>'];
Lembre-se de que as alterações feitas são apenas para a variável de módulo newMod, e não para o módulo original em si.
No módulo newMod, use a variável para adicionar uma função com o mesmo nome que foi removida no passo anterior, usando a seguinte sintaxe.
newMod.<function_name> = function(function_parameters) { // corpo da função };
Você deve reexportar o módulo para que a funcionalidade sobreposta entre em vigor.
module.exports = newMod;
Agora, você pode usar a variável newMod para o módulo, para chamar a função e executar a funcionalidade sobreposta.
Neste exemplo, vamos sobrepor a função readFile() do módulo Node fs.
O primeiro passo para sobrepor uma função no módulo é usar a função require para incluir o módulo em si.
// Inclua o módulo que você deseja sobrepor var fs = require('fs'); // Exclua a função que você deseja sobrepor delete fs['readFile']; // Adicione uma nova função com o mesmo nome da função removida fs.readFile = function(str){ console.log("A funcionalidade foi sobreposta."); console.log(str); } // Reexporte o módulo para que as alterações entrem em vigor module.exports = fs // Você pode usar a nova função coberta fs.readFile("sample.txt");
Resultados de Saída
~/workspace/nodejs$ node node-js-sobrepondo-função-em-module.js
Mensagem da função recém-adicionada ao módulo
sample.txt
Reescrever a função readFile() pode não ser uma boa ideia, mas já é suficiente para a demonstração.
Neste tutorial –Reescrevendo as funções do módulo Node.js,aprendemos a usar o exemplo do programa Node.js para cobrir as funções do módulo Node.js.