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

升级Vue3/Quasar v2后出现@typescript-eslint/no-unsafe-member-access警告如何解决

可能遗漏的配置点整理
  • ESLint 未配置类型检查所需的项目路径
    @typescript-eslint/no-unsafe-member-access属于需要类型信息才能正常工作的规则,必须在ESLint配置的parserOptions中添加project: './tsconfig.json'字段,指定ESLint读取项目的TS配置文件做类型推导。VSCode中的类型展示由Volar插件独立提供,和ESLint的类型检查链路不共享,所以会出现VSCode类型正常但ESLint报错的情况。
  • ESLint parser 配置顺序错误
    处理Vue单文件组件时,ESLint顶层parser字段必须指定为vue-eslint-parser,@typescript-eslint/parser需要放在parserOptions.parser字段下,顺序写反会导致TS类型无法在Vue文件中被正确推导,示例正确配置如下:
// .eslintrc.js 核心配置片段
module.exports = {
  parser: 'vue-eslint-parser',
  parserOptions: {
    parser: '@typescript-eslint/parser',
    project: './tsconfig.json',
    extraFileExtensions: ['.vue'],
    sourceType: 'module'
  }
}
  • parser 未配置.vue 扩展名支持
    需要在parserOptions中添加extraFileExtensions: ['.vue'],让@typescript-eslint/parser识别.vue文件的导入和类型。
  • 依赖包版本不兼容
    检查@typescript-eslint/eslint-plugin、@typescript-eslint/parser、vue-eslint-parser、@vue/eslint-config-typescript四个依赖的版本,是否适配当前使用的Vue3、TypeScript版本,旧版本依赖无法正确识别defineComponent的props自动类型推导逻辑。
  • Quasar 专属类型未正确注册
    Quasar v2项目需要在tsconfig.json的compilerOptions.types数组中添加对应打包工具的类型声明,如使用Vite则加@quasar/app-vite,使用Webpack则加@quasar/app-webpack,避免全局Vue类型声明缺失导致ESLint推导异常。
  • tsconfig 未包含目标文件
    检查tsconfig.json的include数组是否包含了报错的.vue文件所在目录,ESLint的类型检查会严格遵循tsconfig的包含规则,不在范围内的文件无法拿到正确类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 13:54:03