问题标签 [acorn]

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 投票
0 回答
44 浏览

javascript - 从javascript中提取特定的函数调用

我想从 javascript 文件中提取函数调用。

例如:

我想提取完整的调用:

我想我必须为此使用一些像 Esprima 这样的 JS 标记器。欢迎任何代码示例指针。

0 投票
1 回答
106 浏览

javascript - 如何让 acornjs 正确地检查私有类字段和方法的样式?

我正在做一个项目,我需要对我的代码使用样式检查。我想使用 acorn js,但是在尝试解析私有类字段和类方法时失败。

我试过了:

但是运行时会失败。这是错误消息:

我需要能够使用私有类字段和方法,但我不知道如何让 acorn 正确解析它。

0 投票
1 回答
312 浏览

javascript - 如何从另一个 javascript 文件中获取对象键和值

我正在使用 $ npm run index.js

在 index.js 文件中,我正在循环并获取以下文件的列表,从我们需要读取“testData”的文件中,请您帮忙获取数据

每个文件都有

我的代码:index.js

0 投票
0 回答
97 浏览

javascript - 使用 acorn-walk 跟踪 AST 中的范围

我需要跟踪 AST 的范围,以使用 JS 中的 acorn-walk 将所有表达式排列到层次结构中。文档很少,所以我很无能为力。感谢所有的帮助!

0 投票
1 回答
755 浏览

python - 解析器获取令牌的开始和结束位置

我正在尝试复制为 JavaScript 文件构建的错误检测软件,以使用它来查找 Python 文件中的错误。

该过程涉及根据列号查找标记的开始和结束位置。

下面是在 .js 文件上使用 acorn JS 解析器的输出:

橡子解析输出

在上图中,标记的开始和结束位置是整个文档中的列号。

我检查了 Python 标记器,它只给出了与上图中相同的 loc.start 和 loc.end 值。

python分词器输出

但是如何像橡子输出图片一样获取 python 标记的开始和结束值?

0 投票
1 回答
198 浏览

javascript - babel 插件语法在哪里定义?

我正在构建一个 babel 插件,并且可以在 Babel repo 中找到许多已经编写好的插件示例。

我找不到用于编写这样一个插件的权威 API 文档——尤其是对于我可以在生成的 AST 上执行的操作。

我检查过

简单列举几个地方。它们甚至都没有定义.get我在现有插件中经常调用的通用方法,更不用说我可以在路径、节点、范围或绑定上调用的其他函数了。

Babel 7 转换是否存在明确的文档来源?如果是这样,它在哪里?

0 投票
1 回答
54 浏览

javascript - 在 Acorn 中禁用重复声明验证

我正在使用Acorn将一些语法上有效的 JavaScript 代码解析为 ESTree 以进行进一步处理。Acorn 似乎也进行了一些语义检查 - 特别是它会为重复声明引发错误。例如,解析以下代码会引发错误Identifier 'f' has already been declared

我不希望检查此类语义错误 - 我正在对生成的 ESTree 进行自定义处理,因此源代码的语义有效性对我来说并不重要。

我已经查看了该parse(input, options)功能的 Acorn 选项,但我找不到任何听起来像我想要的东西。

有没有办法禁用这种语义检查?

0 投票
2 回答
375 浏览

javascript - 带有 Snowpack 的 JavaScript 私有类方法

我在前端代码中使用私有 JavaScript 类方法,在开发工作流程中使用Snowpack

目前(从 v2.15.0-pre.5 开始),Snowpack 似乎不能很好地与私有类方法一起使用,即,在使用以下方法构建时失败snowpack build

复制的回购是here。克隆后,运行:

我已经打开了一个关于 Snowpack 的问题,但显然问题在于与 Rollup 的集成,并且修复不是优先事项。

据我了解,要解决它,我们需要:

在我深入学习 Rollup 生态系统之前,我想知道是否有人可以提供一个示例?

或者也许还有另一种方法可以让它发挥作用?

由于时间限制,我现在重新开始使用_methodName,但我计划在时间允许时提供修复。#methodName

0 投票
0 回答
87 浏览

javascript - 将javascript文件作为命令行参数读入Node并解析它

我正在编写一个需要将配置文件作为命令行参数的 npm 模块。目前我有一个像这样的json文件:

有了这个,我可以像这样运行我的模块:

现在我想做同样的事情,但使用 .js 文件作为配置文件。

如何解析该文件并将结果对象存储到变量中?我查看了 npm 包 acorn,但是用 acorn 解析只是给了我一个 AST,但我可以弄清楚如何将其转换为可执行代码?

0 投票
1 回答
241 浏览

javascript - Acorn - 为什么箭头函数会引发解析错误?

我正在尝试用 Acorn 解析旧的 React 组件源代码。

要解析的组件(ProjectNew2.js):

任何我的 JavaScript 代码:

和例外:

SyntaxError:意外的令牌 (21:22)

问题:为什么 Acorn 在解析箭头函数时会抛出异常?

当我将解析更改为:

Acorn 成功解析它。