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

Nuxt3使用TypeScript类型时遭遇ESLint解析错误求助

解决Nuxt3项目中ESLint解析Vue SFC TypeScript代码的错误

问题核心

ESLint未正确配置Vue单文件组件(SFC)的解析规则,无法识别<script setup lang="ts">块中的TypeScript语法,导致出现Unexpected token :或Unexpected token ]类解析错误。

解决方案

1. 合并@antfu/eslint-config与Nuxt ESLint配置

直接使用Nuxt生成的配置会覆盖@antfu的规则,需将两者合并,确保同时支持Vue SFC解析和TypeScript语法识别。修改项目根目录下的eslint.config.mjs:

import antfu from '@antfu/eslint-config'
import withNuxt from './.nuxt/eslint.config.mjs'

export default withNuxt(antfu({
  vue: true,
  typescript: true,
  // 可根据项目需求调整规则,示例关闭冲突规则
  rules: {
    'vue/no-mutating-props': 'off'
  }
}))

2. 确认依赖完整性

确保安装了Vue和TypeScript的ESLint解析器依赖(@antfu/eslint-config通常已包含,但手动确认可避免缺失):

npm install -D vue-eslint-parser @typescript-eslint/parser

3. 明确ESLint检查范围

在package.json的lint命令中指定需要检查的文件扩展名,确保Vue文件被正确扫描:

{
  "scripts": {
    "lint": "eslint . --ext .vue,.js,.ts,.mjs"
  }
}

4. 清除ESLint缓存并重启服务

旧缓存可能导致配置不生效,执行以下命令清除缓存并重启Nuxt开发服务:

npx eslint --clear-cache
npm run dev

验证

使用你提供的测试代码进行验证:

<script setup lang="ts">
const test: string = 'test'
</script>

<template>
  <div />
</template>

运行npm run lint,确认解析错误已消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 16:25:57