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

从TSLint迁移到ESLint后.eslintrc.js出现parserOptions.project解析错误如何解决

问题原因
  • 你在ESLint配置中引入了plugin:@typescript-eslint/recommended-requiring-type-checking规则集,该规则集依赖TS类型系统做校验,要求parserOptions.project指向对应的tsconfig文件。此时ESLint会校验所有待lint文件是否被tsconfig的包含范围覆盖。
  • 你的tsconfig.json没有显式配置include字段,TS默认只会扫描目录下的.ts、.tsx后缀文件,.eslintrc.js是JS后缀的配置文件,不在默认包含范围内,因此触发报错。
  • 额外的构建警告是因为部分待lint的文件(多为JS配置类文件)没有匹配到对应的生效规则,ESLint提示该类文件的lint无实际效果。
  • 另外你的ESLint配置中parserOptions重复定义了两次project字段,属于冗余配置,虽然不直接导致报错但建议清理。
解决办法

你可以根据自身需求选择任意一种方案:

方案1:直接忽略不需要lint的配置文件(最推荐,无副作用)

在项目根目录新建.eslintignore文件,写入以下内容即可:

.eslintrc.js
# 其他不需要lint的配置文件也可以加在这里,比如webpack.config.js、babel.config.js等

这类配置文件本身是Node环境运行的JS文件,不需要走TS类型校验规则,忽略后完全不影响业务代码的正常lint效果,也不会有任何不良后果。

方案2:修改tsconfig包含配置文件(适用于需要校验JS配置文件的场景)

在你的tsconfig.json中新增include字段,覆盖所有需要lint的文件路径:

{
  "compilerOptions": {
    /* 原有配置保持不变 */
  },
  "include": [
    "src/**/*", // 替换为你实际的业务代码目录路径
    ".eslintrc.js"
    // 其他需要校验的JS文件也可以加在这里
  ]
}

同时清理ESLint配置中冗余的project定义,修改parserOptions为:

parserOptions: { project: './tsconfig.json', sourceType: 'module' },

针对构建时的规则缺失警告

如果选了方案1,直接把报警告的文件都加到.eslintignore中即可解决。
如果需要保留这类文件的lint校验,可以在ESLint配置中新增overrides字段单独匹配JS文件规则:

module.exports = {
  /* 原有配置保持不变 */
  overrides: [
    {
      files: ['*.js'],
      rules: {
        // 为JS文件配置适配的规则,不需要的规则可以设为off
        '@typescript-eslint/explicit-module-boundary-types': 'off',
        // 其他不兼容JS的TS规则都可以在这里关闭
      }
    }
  ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 13:18:01