node.js - Nodejs vm2 - 如何导入脚本
问题描述
假设您有脚本 A: 定义了一个库:
class MathFunctions { add(a, b) => { return a+b; } }
你有脚本 B: 以某种方式重用 MathFunctions:
const mf = import MathFunctions;
console.log(mf.add(2, 2));
并且你想在 vm 上下文中执行 B,导入 A。
使用不受信任的代码执行此操作的最佳方法是什么?
解决方案
const foo = require('foo');
节点导入系统require, module, exports
(幸运的是,有很多可用的,因为浏览器也缺少模块。因此,任何浏览器的模块预处理器(例如 webpack)都可以解决问题。
所以像new VM().run(webpack('./moduleB.js'))
推荐阅读
- html - HTML div 多余的空格
- c# - Stream Reader 无法正确读取标点符号
- assembly - Division and modulo on unsigned integers with 6 registers
- r - 将相同的值分散到多个列中
- .net - 如何解决 enitiy framwork 的错误包括
- scala - 使用作为类对象的属性实现 scala 特征
- java - checkmarx - 如何解决存储的绝对路径遍历问题?
- biztalk - BizTalk 消息上下文属性“MessageTracking.AdapterReceiveCompleteTime”
- visual-studio - 使用共享点位置作为公共存储库来存储 Visual Studio 项目,如 TFS/Azure DevOps
- python - 从特定列值中删除 *