如何修复 jshint 错误预期 '(' 在 '(' 之前。(expected_a_before_b)
Posted
技术标签:
【中文标题】如何修复 jshint 错误预期 \'(\' 在 \'(\' 之前。(expected_a_before_b)【英文标题】:How to fix jshint error Expected '(' before '('. (expected_a_before_b)如何修复 jshint 错误预期 '(' 在 '(' 之前。(expected_a_before_b) 【发布时间】:2020-11-16 22:52:26 【问题描述】:这里是javascript代码
const puppeteer = require('puppeteer');
(async () =>
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto('https://www.google.com/')
const title = await page.title()
console.log(title)
await browser.close()
)()
.vscode 文件夹中的我的 settings.json
"jshint.options":
"esversion": 8
我正在使用 JSLint,我的编辑器是 Visual Studio Code 1.47.2
这是我遇到的错误
Expected '(' before '('. (expected_a_before_b) jslint(expected_a_before_b) [3,8]
这个 jshint 错误的原因可能是什么?
【问题讨论】:
回过头来看,Visual Studio Code 中有 jshint 提示选项。您使用的是 JSLint 还是 JSHint?如果是JSHint,可以试试文件顶部的/*jshint esversion: 8, asi: true */
吗?
它是 JSHint。我已经相应地更新了我的问题。尝试将 sn-p 放在代码之上,但没有奏效。
将 JSHint 加载到 VS Code 中并使用该 sn-p 打开文件最初会给我分号错误,一旦我将选项更改为 "jshint.options": "esversion": 8, "asi": true
,就什么也没有了。所以 JSHint 似乎可以工作。
但是,如果我将 JSLint 扩展加载到 VS Code 中,我确实会收到您报告的错误。我认为您需要在 VS Code 中切换到 JSHint(并相应地调整其选项),或者我的原始答案是“正确”; JSLint 还不支持async/await
,它被await
关键字弄糊涂了。
我在 Visual Studio Code 中安装了 JSlint、JShint 和 ESlint。我已禁用 JSlint 和 Eslint 并重新加载。现在它适用于您的代码 sn-p。谢谢。
【参考方案1】:
看起来是因为 JSLint 不支持async/await
。
这里是 an issue that was raised 和 a patch submitted to fix it,但它还没有被合并,而且奇怪的是,当 bug 的作者决定“我不再关心”时,这个 bug 被关闭了——奇怪的 b/c Evgeny 是通常在 JSLint 邮件列表中非常活跃且很有帮助。
我认为您的选择是尝试该补丁,而不是使用 async/await
,或者,不幸的是,至少目前,更改 linter。您还可以在 JSLint 提交一个新问题,该问题基本上重复了早先没有解决而关闭的问题。
【讨论】:
以上是关于如何修复 jshint 错误预期 '(' 在 '(' 之前。(expected_a_before_b)的主要内容,如果未能解决你的问题,请参考以下文章
如何修复“错误:预期在 'ProxyZone' 中运行,但未找到。”在摩卡测试?
如何修复错误:断言错误:应该在更新模式下运行 [预期 => 假 == 真 <= 实际]
如何修复“在预期以下情况之一时遇到符号“=”:plsql中的错误
如何修复渲染 SLS 失败:Jinja 语法错误:预期令牌',',得到':'?
如何修复预期值:“1”接收到的数组:[“COUNT (*)”:“1”] 在带有 jest 框架的 TypeORM 中出现错误