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 代码,并返回结果 |