我正在尝试猴子补丁该节点模块 https://github.com/johnvmt/node-desktop-screenshot in electron https://electronjs.org/应用。我想改变capture
方法输入参数。
到目前为止我的代码如下所示:
if (process.platform == "darwin") {
let refSCapt = screenshot.capture;
console.log("Outside");
screenshot.capture = function(output: string, callback: any) {
console.log("Inside");
// Override output path of a temp .png file
let tempOutput = output.split("/")[-1];
refSCapt(this.screenshotsPath + tempOutput, callback);
};
}
问题是补丁没有反映,并且调用原始方法就好像没有任何改变一样。这Outside
已记录但Inside
从未被调用过。
那么我该如何猴子修补这个模块方法呢?
那么我该如何猴子修补这个模块方法呢?
你所拥有的可以很好地工作......但是only如果您的代码在其他地方使用之前运行。为了获得可靠的补丁,我建议https://github.com/ds300/patch-package https://github.com/ds300/patch-package在安装时修补模块。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)