$ npm install eval
This module is a simple way to evaluate a module content in the same way as require() but without loading it from a file. Effectively, it mimicks the javascript evil eval
function but leverages Node's VM module instead.
Why would you be using the eval
module over the nativerequire
? Most of the time require
is fine but in some situations, I have found myself wishing for the following:
Or simply to leverage JavaScript's eval
but with sandboxing.
It is published on node package manager (npm). To install, do:
npm install eval
var _eval = require('eval')
var res = _eval(content /*, filename, scope, includeGlobals */)
The following options are available:
content
(String): the content to be evaluatedfilename
(String): optional dummy name to be given (used in stacktraces)scope
(Object): scope properties are provided as variables to the contentincludeGlobals
(Boolean): allow/disallow global variables (and require) to be supplied to the content (default=false)var _eval = require('eval')
var res = _eval('var x = 123; exports.x = x')
// => res === { x: 123 }
res = _eval('module.exports = function () { return 123 }')
// => res() === 123
res = _eval('module.exports = require("events")', true)
// => res === require('events')
res = _eval('exports.x = process', true)
// => res.x === process
© 2010 - cnpmjs.org x YWFE | Home | YWFE