Node.js VM 模块
实例
在 "虚拟机" 中运行一些 JavaScript 代码:
var vm = require('vm');
var myObj = { name: 'John', age: 38 };
vm.createContext(myObj);
vm.runInContext('age += 1;', myObj);
console.log(myObj);
定义与用法
VM
模块提供了一种在虚拟机上执行 JavaScript的 方法,类似于 JavaScript 中的 eval()。
语法
在应用程序中包含 VM 模块的语法:
var vm = require('vm');
VM 属性与方法
Method | 描述 |
---|---|
createContext() | 准备一个可以执行脚本的虚拟机或沙盒 |
isContext() | 如果指定的沙盒是由 createContext() 方法创建的,则返回 true |
runInContext() | 在指定的上下文中执行 JavaScript 代码,并返回结果 |
runInDebug() | 在调试上下文中执行 JavaScript |
runInNewContext() | 在新上下文中执行 JavaScript 代码,并返回结果 |
runInThisContext() | 在全局上下文中执行 JavaScript 代码,并返回结果 |