Friday, May 3, 2024
 Popular · Latest · Hot · Upcoming
106
rated 0 times [  113] [ 7]  / answers: 1 / hits: 15620  / 10 Years ago, wed, january 14, 2015, 12:00:00

Is it possible to override the global require function, affecting it at process level?



From what I know, the require function is provided as argument in the function that wraps the NodeJS scripts:



(function (..., require, __dirname) { // something like this
// The wrapped code
})(...);


Is there any way to modify the require function?



(function () {
var _require = require;
require = function () {
console.log(...);
_require.apply(this, arguments);
};
})();


This will probably affect only the script where it's located.



How can we modify it at the process level?


More From » node.js

 Answers
22
var Module = require('module');
var originalRequire = Module.prototype.require;

Module.prototype.require = function(){
//do your thing here
return originalRequire.apply(this, arguments);
};

[#68206] Monday, January 12, 2015, 10 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
sandra

Total Points: 708
Total Questions: 100
Total Answers: 84

Location: Bosnia and Herzegovina
Member since Thu, Jun 24, 2021
3 Years ago
;