Eslint 标记 Vue 文件中的第一个函数定义

Eslint flagging the first function definition in a Vue file

我正在用 Typescript 脚本编写一个 Vue 文件,遇到一个奇怪的 Eslint “错误”。

第15行的投诉是Parsing error: Unexpected token, expected ","

它发生在第一个函数定义中,无论它出现在文件中的什么位置,而不是出现在后续定义中。该问题似乎对上面模板中的任何更改都不敏感。

你确定你已经为 TypeScript 配置了 ESLint 吗? 该错误表明它期望 JavaScript,并且类型和其他 TS 功能不是有效的 JS。


您需要在您的 eslint 配置文件中使用 @typescript-eslint

例如,在 .eslintrc.json(或 .eslintrc,或 YAML 格式)中,使用类似于:

{
  "root": true,
  "parser": "@typescript-eslint/parser",
  "plugins": [
    "@typescript-eslint"
  ],
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended",
    "@vue/typescript/recommended"
  ]
}

并确保您已安装所需的库:

yarn add -D eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin @vue/typescript/recommended

(@typescript-eslint/parser是解析器,@typescript-eslint/eslint-plugin包含一些TS的标准linting规则,@vue/typescript/recommended是Vue特定规则,ofc eslint是核心ESLint图书馆。)