Método Node.js vm.createContext()

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *