【发布时间】:2018-07-29 11:08:56
【问题描述】:
我想使用 Node.js 在运行时执行 ES6 代码。给定一串代码:
const es6code = 'const square = (b) => { return b * b; }';
es6Eval(es6code)(5)
es6Eval 函数会将 es6 转换为 es5 并在运行时评估代码。
我该怎么做?
【问题讨论】:
-
鉴于
const es6code中的const,您将在“ES6”(即ES2015+)环境中运行此代码。所以...const f = eval(es6code),然后是f(5)(必要时) -- IF您信任代码的来源,并乐于在您的环境中运行该代码。 -
var fn = Function("alert('hello world')"); fn();
-
既然你使用的是 Node.js,它确实支持 ES6,为什么不使用原生的
eval函数呢? -
我上面的评论对于
es6code来说并不完全;我已经发布了一个答案。
标签: javascript node.js ecmascript-6 babeljs transpiler