【发布时间】:2017-02-03 06:18:50
【问题描述】:
我正在尝试为我的 NW.js (node-webkit) 项目编写一个 JavaScript 加载器。我已经对 peg.js 和 estools (esprima/escodegen) 有所了解,因此将 JavaScript 模块解析为各种函数和变量声明真的没问题,我遇到的问题是实例化不同的文本表达式和声明到一个单独的上下文/对象中。
eval() 似乎无法将声明字符串转换为我选择的变量。
$.context.fn = eval("function anonymous(a,b,c){ return a+b+c; }");
//$.context.fn = undefined..
我唯一能成功从文本转换为变量的就是函数:
$.context.fn = new Function('a','b','c','return a+b+c;');
//$.context.fn = function(a,b,c){ ... }
但似乎没有类似的方法可以将字符串转换为类,例如:
$.context.cl = new Class(params,body) ???
//error
问题:
是否有某种加载程序库可供我使用,或者是否有一些技巧可以让整个事情与eval() 一起工作?
【问题讨论】:
标签: javascript node.js node-webkit