【发布时间】:2018-03-07 10:57:42
【问题描述】:
我正在尝试在 electron 应用程序中修补 this node module。我想更改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 从未被调用。
那么我怎样才能修补这个模块方法呢?
【问题讨论】:
-
问题缺少stackoverflow.com/help/mcve。目前还不清楚
capture方法是什么以及它来自哪里。该软件包似乎不包含此方法。除非另有证明,否则最好使用包装和扩展,而不是修补。 -
这是一个永远不会导出的函数。你不能包装或修补它。分叉包并根据您的需要进行定制。
标签: node.js typescript electron