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

React项目绝对导入冲突:自定义constants被识别为node_modules模块

解决React项目中绝对导入冲突问题

在React项目中使用import { MY_CONSTANT } from 'constants';时,TypeScript和ESLint会将constants识别为node_modules/@types/node/constants.d.ts模块,而非src/目录下自定义的constants文件,可通过以下修改.eslintrc配置解决:

核心修改点

  • 调整解析器优先级:让typescript解析器优先于node解析器,确保TS路径配置被优先读取
  • 修正模块查找顺序:将项目src目录移到node_modules之前,让自定义模块优先被查找

修改后的.eslintrc配置

重点调整settings.import/resolver部分:

{
  // 其他原有配置保持不变
  "settings": {
    "import/resolver": {
      // 优先使用typescript解析器,读取tsconfig的paths配置
      "typescript": {
        "project": [
          "server/tsconfig.json",
          "client/tsconfig.json"
        ]
      },
      "node": {
        // 把src目录移到node_modules前面,优先查找自定义模块
        "moduleDirectory": [
          "client/src",
          "server/src",
          "client/node_modules",
          "server/node_modules"
        ],
        "extensions": [".ts", ".tsx"]
      }
    }
  }
}

配套tsconfig配置(需确认)

确保client/tsconfig.json中已配置正确的路径映射:

{
  "compilerOptions": {
    "baseUrl": "./src", // 以src为基准目录
    "paths": {
      "constants": ["./constants"] // 映射自定义constants模块
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 19:30:54