Tag: esprima

以编程方式在JS文件中插入一行

我想写一个程序,将在现有的HTML文件中添加一行到JS。 我以为我会使用node.js,因为它是相同的语言。 我看了一些项目, esprima , 橡子 , rocambole , falafel , escodegen等,但我似乎无法find任何文件如何添加到AST的节点,以创build此新行。 我不知道是否一个parsing工具是最好的东西 – 也许我会更好地使用条纹操纵/正则expression式? 我也想修改一些行以及添加新行。 下面的代码是我目前不得不添加一行到JavaScript的非工作代码。 var newNode = JSON.parse(transparent); // get html string here fs.readFile(path.normalize('C:\myDoc'), function (err, html) { if (err) { throw err; } handler = new htmlparser.DomHandler(function (err, dom) { if (err) { sys.debug("Error: " + err); } else { // […]

如何在客户端使用estraverse js库?

我能够通过npm得到estraverse,并得到它在一个节点的应用程序的工作。 但是,当我试图通过鲍尔安装它的客户端使用情况下,安装失败,说“选项包未find”。 而当我试图直接加载js文件,它显示“Uncaught ReferenceError:exports is not defined”在控制台中。

如何识别下面的代码模式

我有一个js承诺的模式,我想确定几个关键字 例如,如果我把这样的代码: var deferred = Q.defer(); 而在文件中,我也有以下各自的价值 deferred.reject(err); deferred.resolve(); return deferred.promise; 完整的代码 例1 function writeError(errMessage) { var deferred = Q.defer(); fs.writeFile("errors.log", errMessage, function (err) { if (err) { deferred.reject(err); } else { deferred.resolve(); } }); return deferred.promise; } 我想如果我把大的代码文件(作为string) ,发现这个文件包含模式 另一个例子 var d = Q.defer(); / *或$ q.defer * / 而在文件中,你也有以下各自的价值 d.resolve(val); d.reject(err); return d.promise; […]