Open In App

Node.js script.runInNewContext() Method

The script.runInNewContext() method first contextifies the stated contextObject, runs the compiled code inside the vm.Script object within the context created and then returns the output. However, the running code has no access to the local scope.

Syntax:



script.runInNewContext( contextObject, options )

Parameters: This method accept two parameters as mentioned above and described below:

Return Value: It returns the result of the very last statement executed in the script.

Below examples illustrate the use of script.runInNewContext() method in Node.js:

Example 1:




// Node.js program to demonstrate the     
// script.runInNewContext() method
  
// Including util and vm module
const util = require('util');
const vm = require('vm');
  
// Constructing context
const context = { x: 3, y:4 };
  
// Constructing a script
const script = new vm.Script('x *=11, y *=4;');
  
  
// Calling runInNewContext method
script.runInNewContext(context);
  
// Displays output
console.log("The output is: ", context);

Output:

The output is:  { x: 33, y: 16 }

Example 2:




// Node.js program to demonstrate the     
// script.runInNewContext() method
  
// Including util and vm module
const util = require('util');
const vm = require('vm');
  
// Creating contexts
cont = {
      animal: 'dog',
      total_number: 5
    };
  
// Creating script with its parameters
var script = vm.createScript(
    'total_number += 5; name = "Sheru"', 'file.vm');
  
// Calling runInNewContext method
script.runInNewContext(cont);
 
// Displays output
console.log(cont);

Output:

{ animal: 'dog', total_number: 10, name: 'Sheru' }

Reference: https://nodejs.org/api/vm.html#vm_script_runinnewcontext_contextobject_options


Article Tags :