简体   繁体   English

escodegen.generate引发错误:未知节点类型:未定义

[英]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.

相关问题 删除节点后使用 escodegen 生成代码时出错 - Error generating code with escodegen after node removal typeof window == “undefined” 在使用 ts-node 时抛出错误 - typeof window == “undefined” throws an error while using ts-node Node-ffi为C函数引发“未定义符号”错误 - Node-ffi throws 'undefined symbol' error for C functions 带节点的条带引发错误 400:“无法读取未定义的属性‘会话’” - Stripe with Node throws Error 400: "Cannot read property 'sessions' of undefined" 错误:收到未知参数:business_type - 节点条带连接 - Error: Received unknown parameter: business_type - Node Stripe Connect Node.js-execFile抛出未知的生成 - Node.js - execFile throws spawn UNKNOWN 在三进制可以检查对象是否未定义之前,react引发未定义对象的类型错误 - react throws type error for undefined object before ternary can check if object is undefined Sails.js,Model.update()抛出ER_BAD_FIELD_ERROR:'where子句'中的未知列'undefined' - Sails.js, Model.update() throws ER_BAD_FIELD_ERROR: Unknown column 'undefined' in 'where clause' 节点 JS 类型 ORM 迁移生成命令出现错误 - Node JS Type ORM migration generate command getting error 带有Passport的节点:比较密码引发未定义错误,不是函数,当它返回return done(null,user)时; - Node with Passport: Compare Password throws error undefined is not a function, when it returns return done(null, user);
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM