gulp-eslint 无法解析可选链接语法

Posted

技术标签:

【中文标题】gulp-eslint 无法解析可选链接语法【英文标题】:gulp-eslint fails to parse optional chaining syntax 【发布时间】:2021-12-27 10:54:44 【问题描述】:

我正在尝试使用可选的链接语法对 javascript 代码进行 lint:

let foo = bar?.property;

当使用eslint 显式解析我的 JS 文件时,它通过了。

当使用相同配置解析 gulp-eslint 时,linting 失败并显示:

解析错误:意外的令牌。

我的.eslintrc.json 文件包含:


    "parserOptions": 
      "ecmaVersion": 2020
    

我的 Gulp 任务如下所示:

const eslint = require('gulp-eslint');

return gulp.src(['src/**/*.js'])
    .pipe(eslint( configFile: '.eslintrc.json' ))
    .pipe(eslint.formatEach('compact', process.stderr))
    .pipe(eslint.failAfterError());

我正在使用以下软件包:

"devDependencies": 
    "eslint": "^8.2.0",
    "gulp": "4.0.2",
    "gulp-eslint": "^6.0.0",
  

是我遗漏了什么,还是有可行的解决方法?

【问题讨论】:

gulp-eslint 使用 ESLint 6。我猜你运行的独立 ESLint 必须是更新的 8.2 版本。 【参考方案1】:

ecmaVersion 解析器选项不能这样使用,请参阅https://eslint.org/docs/user-guide/configuring/language-options#specifying-environments。 将其从 2020 年更改为 11 或 12 或“最新”应该可以。

【讨论】:

谢谢,但根据文档设置为2020 是有效的。如果您查看eslint.org/docs/user-guide/configuring/…,它会显示:“2020(与 11 相同)”

以上是关于gulp-eslint 无法解析可选链接语法的主要内容,如果未能解决你的问题,请参考以下文章

无法从具有不同深度的某些链接中解析产品名称

VSCode 中的可选链接运算符支持

apache下php无法解析直接显示源代码解

Android Gradle无法构建且无法解析R.

可选链接

GraphQLError:语法错误:无法解析意外字符“;” [关闭]