gpt4 book ai didi

node.js - Node.js 中是否可以检测代码是否执行其他脚本/文件

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:57 24 4
gpt4 key购买 nike

想象一下这段代码:

const myFunc = () => exec('node foo.js')

现在我的库执行 myFunc,但它不知道它是否执行另一个脚本。如何让它知道呢?

附注该库是一个测试运行器+覆盖率工具,需要知道测试运行的每一段代码。

最佳答案

如果需要检测可能导致脚本执行不受控制的 API 调用,并且需要检测调用,则必须对 API 进行修补,例如:

const childProcess = require('child_process');
const { exec } = childProcess;
childProcess.exec = function () {
console.error(new Error('No coverage'));
return exec.apply(this, arguments);
};

这适用于 global.evalglobal.Function、所有 child_process 模块函数、部分 vmworker_threads 函数。

关于node.js - Node.js 中是否可以检测代码是否执行其他脚本/文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53235096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com