2014-12-11 89 views
0

是否有任何模塊使用node.js解析JavaScript。我的意思是我們可以使用cheerio nodejs模塊動態添加和刪除html內容。Javascript解析使用NodeJS

同樣,我們想要添加,刪除和操作JavaScript方法/變量。有沒有任何模塊可以做到這一點。我搜查,但無法得到一個。

在此先感謝!

+1

http://esprima.org/ – 2014-12-11 05:55:22

+1

你只是想'的eval()'? – jfriend00 2014-12-11 06:41:16

回答

2

我會推薦recast模塊。通過npm install --save recast安裝它。下面是一個示例程序,它將讀取當前目錄中名爲user.js的模塊的源代碼。它會將來源解析爲AST,然後從AST重新生成原始來源。在撥打recast.print(ast).code之前,請在estraverse的幫助下修改AST。

源(不包括estraverse - 讀者練習):

'use strict'; 

var recast = require('recast'); 
var path = require('path'); 
var fs = require('fs'); 

var file = path.resolve(__dirname, 'user.js'); 
var code = fs.readFileSync(file).toString(); 
var ast = recast.parse(code); 

var output = recast.print(ast).code; 

console.log(output);