我想在 node.js 应用程序中添加或覆盖一些对象、函数和数组的标准方法(例如,像这个答案中建议的那样)。我应该如何在一个模块中完成所有“补丁”,以便它影响我的所有其他模块?
如果我在一个只是require
'd 的模块中执行它就足够了,否则它将无法工作,因为这两个模块具有不同的全局名称空间,因此它们具有不同的对象?...或者我应该在这之后运行一些初始化require
函数这些“补丁”也在这个模块中工作吗?
我想在 node.js 应用程序中添加或覆盖一些对象、函数和数组的标准方法(例如,像这个答案中建议的那样)。我应该如何在一个模块中完成所有“补丁”,以便它影响我的所有其他模块?
如果我在一个只是require
'd 的模块中执行它就足够了,否则它将无法工作,因为这两个模块具有不同的全局名称空间,因此它们具有不同的对象?...或者我应该在这之后运行一些初始化require
函数这些“补丁”也在这个模块中工作吗?
//require the util.js file
require('./util.js');
var a = [];
a.doSomething();
在您的“util.js”文件中:
//in your util.js file you don't have to write a module, just write your code...
Array.prototype.doSomething = function(){console.log("doSomething")};
加载的每个文件都共享相同的原始对象,如 Object、Array 等,除非在不同的 vm 上下文中运行,因此在初始化时要求文件一次将在任何地方进行更改。