Skip to main content

runInThisContext

method Script.prototype.runInThisContext
Jump to headingScript.prototype.runInThisContext(options?: RunningScriptOptions): any

Runs the compiled code contained by the vm.Script within the context of the current global object. Running code does not have access to local scope, but does have access to the current global object.

The following example compiles code that increments a global variable then executes that code multiple times:

import vm from 'node:vm';

global.globalVar = 0;

const script = new vm.Script('globalVar += 1', { filename: 'myfile.vm' });

for (let i = 0; i < 1000; ++i) {
  script.runInThisContext();
}

console.log(globalVar);

// 1000

Parameters Jump to heading

Return Type Jump to heading

any

the result of the very last statement executed in the script.

Back to top