PNG IHDR ; IDATxܻn0K )(pA7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5 bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô!x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%tMז -lG6mrz2s%9s@-k9=)kB5\+͂ZsٲRn~GRCwIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL /F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ R IENDB` # vm-browserify emulate node's vm module for the browser [](https://travis-ci.org/browserify/vm-browserify) # example Just write some client-side javascript: ``` js var vm = require('vm'); window.addEventListener('load', function () { var res = vm.runInNewContext('a + 5', { a : 100 }); document.querySelector('#res').textContent = res; }); ``` compile it with [browserify](http://github.com/substack/node-browserify): ``` browserify entry.js -o bundle.js ``` then whip up some html: ``` html
result = ``` and when you load the page you should see: ``` result = 105 ``` # methods ## vm.runInNewContext(code, context={}) Evaluate some `code` in a new iframe with a `context`. Contexts are like wrapping your code in a `with()` except slightly less terrible because the code is sandboxed into a new iframe. # install This module is depended upon by browserify, so you should just be able to `require('vm')` and it will just work. However if you want to use this module directly you can install it with [npm](http://npmjs.org): ``` npm install vm-browserify ``` # license MIT