问题标签 [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.
javascript - 删除节点后使用 escodegen 生成代码时出错
首先我创建了一个esprima
AST,然后我想删除一个节点estraverse
,最后使用escodegen
. 但我得到一个错误。
我正在尝试的代码是:
错误跟踪是:
难道我做错了什么?这是错误escodegen
还是错误estraverse
?
提前致谢。
javascript - 为什么 escodegen 和 esprima 在我的源代码上生成括号包装?
我escodegen
用来在我的语句中添加一个结束代码,如下所示。在 leave 方法中,我.toArray()
在语句的末尾附加了一个调用。
上面代码的输出是:generated code: (db.find().toArray())
. 我不明白为什么它在我的源代码上加上括号。我的源代码有什么问题吗?
javascript - 为什么 .replace() 不能处理从 escodege.generate() 生成的大字符串?
我正在尝试使用 escodegen 的.generate() 函数生成一些代码,该函数给了我一个字符串。
不幸的是,它并没有完全删除分号(仅在代码块上),这是我自己需要它来摆脱它们的。所以我正在使用该.replace()
函数,但是由于某种原因没有删除分号。
这是我目前拥有的:
我做错了什么或错过了什么?
javascript - 允许在客户端编写的 JavaScript 在服务器上执行的最安全方法是什么?
我想让我们的用户用 JavaScript 编写字符串解析逻辑,然后在服务器上执行。
编辑(更多信息):
- 正则表达式不是他们需要的选项
if
,else
等等switch
- 我想避免创建自定义语言
- 这个想法是,如果用户知道 JS,他们可以编写自定义逻辑
我看过CodePen的Stopping Infinite Loops ,他们使用Esprima生成抽象语法树,然后重新生成我们使用Escodegen的 JavaScript 。这种方法让我担心的是,有人仍然可以引入某种 Unicode hack。
node.js - escodegen.generate 抛出错误:未知节点类型:未定义
以下是我写的代码
我能够对代码字符串进行标记,但在生成代码时出现错误。我浏览了多个样本,到处都遵循相同的模式。我不明白我做错了什么。
javascript - 如何使用 BabelJS 将自定义运算符添加到 Javascript 或 node.js?
我想向 Javascript 添加自定义运算符、关键字和语法。
多年前有人寻求帮助并得到了一些很好的指示:
在这里实现:
https://github.com/IonicaBizau/js-custom-operators
此方法不适用于最新版本的esprima.js
.
这可能babel.js
吗?