NodeJS 基礎(chǔ)教程

NodeJS Express.js

NodeJS 緩沖&URL

NodeJS MySql

NodeJS MongoDB

NodeJS 文件(FS)

NodeJS 其他

Node.js 重寫模塊函數(shù)

重寫Node.js模塊的功能

Node.js模塊的代替功能–在某些情況下,您想通過重寫現(xiàn)有模塊來改善其功能。在本Node.js教程中,我們將學習重寫Node.js模塊的功能。

要重寫Node.js模塊的現(xiàn)有功能,請按照以下逐步指南進行操作:

引入模塊

覆蓋模塊中功能的第一步是使用require函數(shù)包括模塊本身。

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

我們已將模塊檢索到變量。

從模塊變量中刪除函數(shù)

在模塊newMod中使用變量, 使用以下語法從中刪除函數(shù)。

  delete newMod['<function_name>'];

請記住,所做的更改僅是對模塊變量newMod的更改,而不是對原始模塊本身的更改。

將具有相同名稱的功能添加到模塊變量

在模塊newMod中使用變量 ,使用以下語法添加具有在上一步中刪除的相同名稱的函數(shù)。

newMod.<function_name> = function(function_parameters) {
 // function body
};

重新導出模塊

您必須重新導出模塊才能使覆蓋的功能生效。

module.exports = newMod;

現(xiàn)在,您可以將變量newMod 用于模塊,以調(diào)用該函數(shù),然后將執(zhí)行重寫的功能。

示例:Node.js模塊的重寫功能

在此示例中,我們將覆蓋Node fs模塊的readFile()函數(shù) 。

重寫模塊中功能的第一步是使用require函數(shù)包括模塊本身。

// 包括要覆蓋其功能的模塊
var fs = require('fs'); 
 
// 刪除您要覆蓋的功能
delete fs['readFile']; 
 
// 添加與已刪除函數(shù)同名的新函數(shù)
fs.readFile = function(str){ 
    console.log("The functionality has been overridden."); 
    console.log(str); 
 } 
 
// 重新導出模塊以使更改生效
module.exports = fs
 
// 您可以使用新覆蓋的功能
fs.readFile("sample.txt");

輸出結(jié)果

~/workspace/nodejs$ node node-js-overriding-function-in-module.js 
Message from newly added function to the module
sample.txt

重寫readFile()函數(shù)可能不是一個好主意,但對于演示來說已經(jīng)足夠了。

結(jié)論:

在本教程–重寫Node.js模塊的功能中,我們學習了使用示例Node.js程序覆蓋Node.js模塊的功能。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清