Saltar al contenido

Referencia de la API node:vm

Evaluación de scripts con contextos de compatibilidad

En esta página

node:vm proporciona API de compilación de scripts y de contextos con la forma de Node.

Un contexto no es un límite de seguridad. Los intrínsecos se comparten con el realm del host. Use aislamiento de procesos y del sistema de archivos para el código no fiable.

ExportaciónPropósito
ScriptCompila código y lo ejecuta en este contexto o en un contexto sandbox.
createContext() / isContext()Contextualiza un objeto y comprueba su marca.
compileFunction()Compila el cuerpo de una función.
runInThisContext()Evalúa en el ámbito global actual.
runInContext()Evalúa contra un objeto contextualizado.
runInNewContext()Evalúa contra un nuevo objeto sandbox.
measureMemory()Devuelve una Promise con un resultado de memoria.
constantsConstantes de VM.
const vm = require("node:vm");
const sandbox = { x: 2 };
vm.createContext(sandbox);
vm.runInContext("x + 3", sandbox); // 5

SourceTextModule solo expone un ciclo de vida limitado y no proporciona el enlazado y la evaluación completos de módulos.

Véase también

Reference

Status: Full · 80 of 95 suite tests pass (84.2%) · since 1.1.0

Exports

ExportKindStatusNotes
ScriptclassFullrunInThisContext(), runInNewContext()
createContext()functionFullCreates a new execution context (sandbox)
runInNewContext()functionFullCompiles code, creates a new context, and runs the code in that context
runInThisContext()functionFullCompiles and runs code within the current global context
isContext()functionFullReturns whether the given object is a contextified sandbox

Tests: node-api node:vm: 80 pass, 15 fail, 0 error, 3 skipped. Failing: test-vm-basic.js, test-vm-codegen.js, test-vm-context-dont-contextify.js, test-vm-function-declaration.js, test-vm-global-property-prototype.js, test-vm-global-setter.js, test-vm-harmony-symbols.js, test-vm-module-after-evaluate.js, and 7 more.

¿Te resultó útil esta página?