问题标签 [escodegen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
705 浏览

javascript - 删除节点后使用 escodegen 生成代码时出错

首先我创建了一个esprimaAST,然后我想删除一个节点estraverse,最后使用escodegen. 但我得到一个错误。

我正在尝试的代码是:

错误跟踪是:

难道我做错了什么?这是错误escodegen还是错误estraverse

提前致谢。

0 投票
1 回答
374 浏览

javascript - 为什么 escodegen 和 esprima 在我的源代码上生成括号包装?

escodegen用来在我的语句中添加一个结束代码,如下所示。在 leave 方法中,我.toArray()在语句的末尾附加了一个调用。

上面代码的输出是:generated code: (db.find().toArray()). 我不明白为什么它在我的源代码上加上括号。我的源代码有什么问题吗?

0 投票
1 回答
46 浏览

javascript - 为什么 .replace() 不能处理从 escodege.generate() 生成的大字符串?

我正在尝试使用 escodegen 的.generate() 函数生成一些代码,该函数给了我一个字符串。

不幸的是,它并没有完全删除分号(仅在代码块上),这是我自己需要它来摆脱它们的。所以我正在使用该.replace()函数,但是由于某种原因没有删除分号。

这是我目前拥有的:

我做错了什么或错过了什么?

0 投票
2 回答
82 浏览

javascript - 允许在客户端编写的 JavaScript 在服务器上执行的最安全方法是什么?

我想让我们的用户用 JavaScript 编写字符串解析逻辑,然后在服务器上执行。

编辑(更多信息)

  • 正则表达式不是他们需要的选项ifelse等等switch
  • 我想避免创建自定义语言
  • 这个想法是,如果用户知道 JS,他们可以编写自定义逻辑

我看过CodePen的Stopping Infinite Loops ,他们使用Esprima生成抽象语法树,然后重新生成我们使用Escodegen的 JavaScript 。这种方法让我担心的是,有人仍然可以引入某种 Unicode hack。

0 投票
1 回答
452 浏览

node.js - escodegen.generate 抛出错误:未知节点类型:未定义

以下是我写的代码

我能够对代码字符串进行标记,但在生成代码时出现错误。我浏览了多个样本,到处都遵循相同的模式。我不明白我做错了什么。

0 投票
0 回答
125 浏览

javascript - 如何使用 BabelJS 将自定义运算符添加到 Javascript 或 node.js?

我想向 Javascript 添加自定义运算符、关键字和语法。

多年前有人寻求帮助并得到了一些很好的指示:

我将如何扩展 JavaScript 语言以支持新的运算符?

在这里实现:

https://github.com/IonicaBizau/js-custom-operators

此方法不适用于最新版本的esprima.js.

这可能babel.js吗?