El método vm.createContext() se utiliza para crear un solo contexto que se puede utilizar para ejecutar más de un script. Además, si se ignora el contextObject indicado, se devuelve un nuevo objeto contextualizado vacío . Sin embargo, si se indica contextObject , este método preparará ese objeto para que pueda usarse para llamar a vm.runInContext() o script.runInContext() . Donde contextObject será el objeto global dentro de dichos scripts que pueden conservar sus propiedades activas. Y fuera de los scripts, se ejecuta mediante el módulo vm e incluso las variables globales permanecen constantes.
Sintaxis:
vm.createContext( contextObject, options )
Parámetros: este método acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- contextObject: Es el objeto que se contextualiza.
- options: es opcional y devuelve Object .
Valor devuelto: Devuelve un objeto contextualizado.
Los siguientes ejemplos ilustran el uso del método createContext() en Node.js:
Ejemplo 1:
Javascript
// Node.js program to demonstrate the // vm.createContext([contextObject[, options]]) // method // Including util and vm module const util = require('util'); const vm = require('vm'); // Assigning value to the global variable global.globalVar = 10; // Defining Context object const object = { globalVar: 4 }; // Contextifying stated object // using createContext method vm.createContext(object); // Compiling code vm.runInContext('globalVar /= 2;', object); // Displays the context console.log("Context: ", object); // Displays value of global variable console.log("Global Variable is ", global.globalVar);
Salida: aquí, globalVar en el contexto es 2 en la salida como (4/2 = 2) pero el valor de globalVar sigue siendo 10.
Context: { globalVar: 2 } Global Variable is 10
Ejemplo 2:
Javascript
// Node.js program to demonstrate the // vm.createContext([contextObject[, options]]) // method // Including util and vm module const util = require('util'); const vm = require('vm'); // Assigning value to the global variable global.globalVar = 5; // Defining Context object const object = { globalVar: 20 }; // Contextifying stated object // using createContext method vm.createContext(object); // Compiling code vm.runInContext('globalVar += 2;', object); // Displays the context console.log("Context: ", object); // Displays value of global variable console.log("Global Variable is ", global.globalVar);
Salida: aquí, globalVar en el contexto es 22 en la salida como (20+2 = 22) pero el valor de globalVar sigue siendo 5.
Context: { globalVar: 22 } Global Variable is 5
Referencia: https://nodejs.org/api/vm.html#vm_vm_createcontext_contextobject_options
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA