[英]escodegen.generate throws Error: Unknown node type: undefined
The following is the code that I have written 以下是我编写的代码
`js
var esprima = require('esprima');
var escodegen = require('escodegen');
var a = "var a = 2";
var ast = esprima.tokenize(a);
var output = escodegen.generate(ast);
console.log(output);
`
I am able to tokenize the code string but I am getting error generating the code back. 我能够标记代码字符串,但返回生成代码时出错。 I went through multiple samples, Everywhere the same pattern is followed.
我经历了多个示例,每个地方都遵循相同的模式。 I don't understand what I am doing wrong.
我不明白我在做什么错。
The function esprima.tokenize
does not generate an AST, just an array of tokens. esprima.tokenize
函数不会生成AST,而只是生成令牌数组。 What you want to use is esprima.parse
. 您要使用的是
esprima.parse
。
Try this: 尝试这个:
var esprima = require('esprima');
var escodegen = require('escodegen');
var a = "var a = 2";
var ast = esprima.parse(a);
var output = escodegen.generate(ast);
console.log(output);
It will work 会工作的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.