我想在node.js应用程序中添加或覆盖Object,Function和Array的一些标准方法(例如,如this answer中所建议的那样)。我应该如何在一个模块中执行所有“补丁”,以便影响我的所有其他模块?
如果我在仅仅require
'的模块中执行此操作是否足够,或者它将无法工作,因为这两个模块具有不同的全局命名空间,因此它们具有不同的对象?...或者我应该在require
之后运行一些初始化函数,使所有这些“补丁”也在这个模块中运行?
答案 0 :(得分:11)
//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")};
答案 1 :(得分:5)
每个加载的文件都共享相同的原始对象,如Object,Array等,除非在不同的vm Context中运行,因此在初始化时需要一次文件将在任何地方进行更改。