|  | # 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'); | 
|  |  | 
|  | $(function () { | 
|  | var res = vm.runInNewContext('a + 5', { a : 100 }); | 
|  | $('#res').text(res); | 
|  | }); | 
|  | ``` | 
|  |  | 
|  | compile it with [browserify](http://github.com/substack/node-browserify): | 
|  |  | 
|  | ``` | 
|  | browserify entry.js -o bundle.js | 
|  | ``` | 
|  |  | 
|  | then whip up some html: | 
|  |  | 
|  | ``` html | 
|  | <html> | 
|  | <head> | 
|  | <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> | 
|  | <script src="/bundle.js"></script> | 
|  | </head> | 
|  | <body> | 
|  | result = <span id="res"></span> | 
|  | </body> | 
|  | </html> | 
|  | ``` | 
|  |  | 
|  | 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 |