escodegen.generate throws Ошибка: неизвестный тип узла: не определено - PullRequest
0 голосов
/ 11 января 2019

Ниже приведен код, который я написал

`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);
`

Я могу токенизировать строку кода, но получаю сообщение об ошибке при генерации кода. Я прошел несколько сэмплов, везде везде одинаковая схема. Я не понимаю, что я делаю не так.

1 Ответ

0 голосов
/ 12 января 2019

Функция esprima.tokenize не генерирует AST, просто массив токенов. То, что вы хотите использовать, это esprima.parse.

Попробуйте это:

  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);

Это будет работать

...