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

Tutorial básico NodeJS

NodeJS Express.js

NodeJS Buffer & URL;

NodeJS MySql

NodeJS MongoDB

Arquivo NodeJS (FS)

Outros NodeJS

Reescrevendo Funções de Módulos no Node.js

Sobrescrever funções de módulos Node.js

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:

Introduzir módulo

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.

Remover função da variável do módulo

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.

Adicione uma função com o mesmo nome ao módulo variável

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
};

Reexportar módulo

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.

Exemplo: Sobrepondo funcionalidades de módulos Node.js

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.

Conclusã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.