You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3为方法加类型时ESLint报Unexpected token:错误的解决办法

解决Vue3 methods中添加TypeScript类型导致ESLint报错的问题

问题情况

在Vue3+TypeScript项目中使用ESLint时,给defineComponent的methods内方法参数添加类型标注(如allowedCharacterRegex: RegExp),ESLint会抛出错误:

42:41  error  Parsing error: Unexpected token :

相关组件代码片段:

<script lang="ts">
import {defineComponent} from "vue";

export default defineComponent({
    // ...其他配置
    methods: {
        validatePattern(allowedCharacterRegex: RegExp, unAllowedCharacterRegex: RegExp, event: { preventDefault: () => void; }, value: any) {
            if (allowedCharacterRegex && !allowedCharacterRegex.test(value)) {
                event.preventDefault();
            }

            if (unAllowedCharacterRegex && unAllowedCharacterRegex.test(value)) {
                event.preventDefault();
            }
        }
    }
})
</script>

当前ESLint配置:

module.exports = {
  env: {
    browser: true,
    es2021: true,
    node: true,
  },
  extends: [
    "eslint:recommended",
    "plugin:vue/vue3-essential",
    "plugin:@typescript-eslint/recommended",
    "plugin:vue/vue3-recommended",
  ],
  overrides: [],
  parser: "vue-eslint-parser",
  parserOptions: {
    ecmaVersion: "latest",
    sourceType: "module",
  },
  plugins: ["vue", "@typescript-eslint"],
  rules: {},
};

解决方案

问题出在ESLint解析配置上:vue-eslint-parser负责解析Vue单文件组件的结构,但它本身不处理TypeScript语法,需要明确指定将TypeScript代码委托给@typescript-eslint/parser解析。

修改ESLint配置的parserOptions,添加parser: "@typescript-eslint/parser":

module.exports = {
  env: {
    browser: true,
    es2021: true,
    node: true,
  },
  extends: [
    "eslint:recommended",
    "plugin:vue/vue3-essential",
    "plugin:@typescript-eslint/recommended",
    "plugin:vue/vue3-recommended",
  ],
  overrides: [],
  parser: "vue-eslint-parser",
  parserOptions: {
    ecmaVersion: "latest",
    sourceType: "module",
    // 指定TypeScript代码的解析器
    parser: "@typescript-eslint/parser"
  },
  plugins: ["vue", "@typescript-eslint"],
  rules: {},
};

修改后重启ESLint服务,类型标注的语法错误即可消除。

内容的提问来源于stack exchange,提问作者Or Yaacov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 17:11:08