我想提供与fs
一起使用的文件系统访问权限。如何授予vm2进程对特定目录的访问权限?
我尝试将external
设置为true
,并将root
设置为/
。在vm2之外运行时,该进程可以访问目录。
答案 0 :(得分:0)
您设置了builtin: ['fs']
吗?
尝试下面的代码示例
const {NodeVM} = require('vm2');
const vm = new NodeVM({
console: 'inherit',
sandbox: {},
require: {
external: true,
builtin: ['fs', 'path'],
root: "./",
mock: {
fs: {
readFileSync() { return 'Nice try!'; }
}
}
}
});