0

假设您有脚本 A: 定义了一个库:

class MathFunctions { add(a, b) => { return a+b; } }

你有脚本 B: 以某种方式重用 MathFunctions:

const mf = import MathFunctions;
console.log(mf.add(2, 2));

并且你想在 vm 上下文中执行 B,导入 A。

使用不受信任的代码执行此操作的最佳方法是什么?

类似的问题在这里:https ://github.com/patriksimek/vm2/issues/121

4

1 回答 1

0

const foo = require('foo');节点导入系统require, module, exports(幸运的是,有很多可用的,因为浏览器也缺少模块。因此,任何浏览器的模块预处理器(例如 webpack)都可以解决问题。

所以像new VM().run(webpack('./moduleB.js'))

于 2018-05-07T23:48:40.983 回答