vm.runInContext(code, contextifiedSandbox[, options])
vm.runInContext()
compiles code
, then runs it in contextifiedSandbox
and returns the result. Running code does not have access to local scope. The contextifiedSandbox
object must have been previously contextified via vm.createContext()
; it will be used as the global object for code
.
vm.runInContext()
takes the same options as vm.runInThisContext()
.
Example: compile and execute different scripts in a single existing context.
1 2 3 4 5 6 7 8 9 10 11 12 | const util = require( 'util' ); const vm = require( 'vm' ); const sandbox = { globalVar: 1 }; vm.createContext(sandbox); for ( var i = 0; i < 10; ++i) { vm.runInContext( 'globalVar *= 2;' , sandbox); } console.log(util.inspect(sandbox)); // { globalVar: 1024 } |
Note that running untrusted code is a tricky business requiring great care. vm.runInContext()
is quite useful, but safely running untrusted code requires a separate process.
Please login to continue.