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

ESLint结合TypeScript报错:node_modules中出现||=语法错误

排查ESLint误检测node_modules语法错误的实用步骤
  • 先核对.eslintignore的有效性:

    • 确保文件在项目根目录,文件名是.eslintignore(开头的点不能丢)
    • 文件内必须写node_modules/(末尾加斜杠,精准匹配文件夹,避免误匹配同名文件)
    • 检查有没有拼写错误,比如写成node_module/少了个s
  • 检查ESLint运行命令:

    • 确认没有加--no-ignore参数,这个参数会强制跳过所有忽略规则
    • 别手动指定node_modules/作为检测路径,比如eslint src/ node_modules/这种错误命令
    • 直接运行eslint .,让ESLint自动读取根目录的配置和忽略规则
  • 解决Node.js版本兼容问题:

    • Node 14.21.3本身不支持||=逻辑赋值运算符(该特性在Node 15+才引入),ESLint解析器如果用了Node 14的环境配置,会把新语法判定为错误
    • 在.eslintrc.json里调整配置:
      {
        "env": {
          "node": true,
          "es2021": true
        },
        "parserOptions": {
          "ecmaVersion": "2021",
          "project": "./tsconfig.json"
        }
      }
      
    • 确保parserOptions.project指向你的tsconfig.json,让ESLint用TypeScript的解析规则而非Node本身的语法限制
  • 显式设置ESLint忽略规则:

    • 部分第三方ESLint配置或插件可能覆盖默认忽略规则,直接在.eslintrc.json里显式声明:
      {
        "ignorePatterns": ["node_modules/"]
      }
      
  • 清除ESLint缓存:

    • ESLint会缓存检测结果,旧缓存可能导致规则不生效,运行命令:
      eslint . --no-cache
      
  • 验证tsconfig.json的排除规则:

    • 确保tsconfig.json里的exclude包含node_modules:
      {
        "exclude": ["node_modules"]
      }
      
    • 同时确认.eslintrc.json里的parserOptions.project没有指向其他路径的tsconfig,否则当前修改的tsconfig不会生效
  • 检查ESLint版本兼容性:

    • 运行npm list eslint查看版本,ESLint 8.x及以上版本对TypeScript和Node 14的兼容性更好,如果版本过低,考虑升级(注意Node 14最高支持ESLint 8.22.0左右,不要升太新)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 09:13:28