Aller au contenu

Référence de l'API node:vm

Évaluation de scripts avec des contextes de compatibilité

Sur cette page

node:vm fournit des API de compilation de scripts et de contextes calquées sur Node.

Un contexte n’est pas une frontière de sécurité. Les intrinsèques sont partagés avec le realm hôte. Utilisez l’isolation des processus et du système de fichiers pour le code non fiable.

ExportRôle
ScriptCompiler du code et l’exécuter dans ce contexte ou dans un contexte sandbox.
createContext() / isContext()Contextualiser un objet et vérifier son marqueur.
compileFunction()Compiler un corps de fonction.
runInThisContext()Évaluer dans la portée globale courante.
runInContext()Évaluer sur un objet contextualisé.
runInNewContext()Évaluer sur un nouvel objet sandbox.
measureMemory()Renvoyer une Promise pour un résultat de mesure mémoire.
constantsConstantes de la VM.
const vm = require("node:vm");
const sandbox = { x: 2 };
vm.createContext(sandbox);
vm.runInContext("x + 3", sandbox); // 5

SourceTextModule n’expose qu’un cycle de vie limité et ne fournit pas la liaison ni l’évaluation complètes des modules.

Voir aussi

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.

Cette page vous a-t-elle aidé ?