esp
esp

Reputation: 7717

Where to change objects prototypes in node.js?

I want to add or override some standard methods of Object, Function and Array (e.g., like suggested in this answer) in node.js application. How should I do all the "patches" in just one module so that it affects all my other modules?

Will it be enough if I do it in a module that is just require'd or it won't work because the two modules have different global namespaces so they have different Object?... Or should I run some initialisation function after require that makes all these "patches" working in this module too?

Upvotes: 8

Views: 5695

Answers (2)

user934801
user934801

Reputation: 1139

//require the util.js file 
require('./util.js');

var a = [];
a.doSomething();

in your "util.js" file:

//in your util.js file you don't have to write a module, just write your code...
Array.prototype.doSomething = function(){console.log("doSomething")};

Upvotes: 14

ckknight
ckknight

Reputation: 6173

Each file loaded shares the same primordial objects like Object, Array, etc, unless run in a different vm Context, so requiring the file once in your initialization will make the changes everywhere.

Upvotes: 7

Related Questions