【问题标题】:Javascript parsing using NodeJS使用 NodeJS 解析 Javascript
【发布时间】:2014-12-12 16:55:00
【问题描述】:

是否有任何模块可以使用 node.js 解析 javascript。我的意思是我们能够使用cheerio nodejs 模块动态添加和删除html 内容。

同样,我们想要添加、删除和操作一个 javascript 方法/变量。是否有任何模块可以做到这一点。我搜索了但找不到。

提前致谢!!!

【问题讨论】:

  • 你只想要eval()吗?

标签: node.js


【解决方案1】:

我会推荐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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-13
    • 2015-03-16
    • 2016-04-17
    • 2014-05-29
    • 2015-01-18
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    相关资源
    最近更新 更多