微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

覆盖require函数

如何解决覆盖require函数

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

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

解决方法

是否有可能覆盖 全局 require功能,从而在一定process程度上影响 全局 功能?

据我所知,该require函数在包装NodeJS脚本的函数中作为参数提供:

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

有什么方法可以修改require功能吗?

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

这可能只会影响脚本所在的脚本。

我们如何在流程级别进行修改?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。