NodeJs实现运行用户输入的代码段
需要实现效果如下
用户可以根据自己设定的规则和过滤条件, 执行响应的报警。
运用知识点:
1. new vm.Script(code, options)
将输入的code 进行预编译(但是不执行)
2.vm.createContext([sandbox[, options]])
依据sandbox对象,创建一个执行上下文
3.script.runInContext(contextifiedSandbox[, options])
在指定的上下文中执行编译好的js代码。被执行的代码无法获取本地作用域。
code:
exeInSandbox: function(sandbox, script){ const vm = require('vm'); sandbox = sandbox || {}; script = new vm.Script(script); const context = new vm.createContext(sandbox); script.runInContext(context, { timeout: 3000 }); return sandbox; }
标题:NodeJs实现运行用户输入的代码段
作者:hugh0524
地址:https://blog.uproject.cn/articles/2019/02/28/1551350125299.html
0 0