Node.js模块的代替功能–在某些情况下,您想通过重写现有模块来改善其功能。在本Node.js教程中,我们将学习重写Node.js模块的功能。
要重写Node.js模块的现有功能,请按照以下逐步指南进行操作:
覆盖模块中功能的第一步是使用require函数包括模块本身。
var newMod = require(''); 我们已将模块检索到变量。
在模块newMod中使用变量, 使用以下语法从中删除函数。
delete newMod[''];
请记住,所做的更改仅是对模块变量newMod的更改,而不是对原始模块本身的更改。
在模块newMod中使用变量 ,使用以下语法添加具有在上一步中删除的相同名称的函数。
newMod.= function(function_parameters) { // function body };
您必须重新导出模块才能使覆盖的功能生效。
module.exports = newMod;
现在,您可以将变量newMod 用于模块,以调用该函数,然后将执行重写的功能。
在此示例中,我们将覆盖Node fs模块的readFile()函数 。
重写模块中功能的第一步是使用require函数包括模块本身。
// 包括要覆盖其功能的模块
var fs = require('fs');
// 删除您要覆盖的功能
delete fs['readFile'];
// 添加与已删除函数同名的新函数
fs.readFile = function(str){
console.log("The functionality has been overridden.");
console.log(str);
}
// 重新导出模块以使更改生效
module.exports = fs
// 您可以使用新覆盖的功能
fs.readFile("sample.txt");输出结果
~/workspace/nodejs$ node node-js-overriding-function-in-module.js Message from newly added function to the modulesample.txt
重写readFile()函数可能不是一个好主意,但对于演示来说已经足够了。
在本教程–重写Node.js模块的功能中,我们学习了使用示例Node.js程序覆盖Node.js模块的功能。
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77.1万人学习
共29课时
61.8万人学习
共25课时
39.4万人学习
共43课时
71万人学习
共25课时
61.7万人学习
共22课时
23万人学习
共28课时
34万人学习
共89课时
125.3万人学习