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

Electron Forge TypeScript项目中ESLint无法解析自定义types.d.ts模块的解决方案咨询

解决ESLint无法识别自定义TypeScript模块声明的问题

这个问题挺常见的——TypeScript编译器能正常识别你的自定义模块,但ESLint的import/no-unresolved规则却找不到它,核心原因是ESLint的import插件没有和TypeScript的配置完全对齐。下面是具体的解决步骤:

1. 确保TypeScript配置包含你的类型声明文件

首先检查你的tsconfig.json,确保它能找到src/types.d.ts:

  • 确认include数组覆盖了类型文件所在的目录,比如:
    "include": ["src/**/*"]
    
    这样TS会自动扫描src下所有文件,包括你的类型声明。
  • 如果你的配置里有typeRoots字段,要把类型文件所在的目录加进去,比如:
    "typeRoots": ["./src/types", "./node_modules/@types"]
    

2. 配置ESLint的TypeScript解析器

ESLint的import插件默认不会自动读取TS的模块解析规则,需要安装专门的解析器并配置:

  • 先安装依赖:
    npm install eslint-import-resolver-typescript --save-dev
    
  • 然后在你的ESLint配置文件里添加settings字段,让import插件使用TS的配置来解析模块:
    {
      "env": { "browser": true, "es6": true, "node": true },
      "extends": [
        "eslint:recommended",
        "plugin:@typescript-eslint/eslint-recommended",
        "plugin:@typescript-eslint/recommended",
        "plugin:import/recommended",
        "plugin:import/electron",
        "plugin:import/typescript"
      ],
      "rules": { "@typescript-eslint/explicit-module-boundary-types": "off" },
      "parser": "@typescript-eslint/parser",
      // 新增这部分配置
      "settings": {
        "import/resolver": {
          "typescript": {
            "project": "./tsconfig.json"
          }
        }
      }
    }
    

3. 验证修复效果

做完上面的配置后,记得重启ESLint的服务(比如在VS Code里可以打开命令面板,选择"ESLint: Restart ESLint Server"),或者手动运行ESLint命令检查:

npx eslint src/**/*.ts

这时候import/no-unresolved的错误应该就消失了。

简单说下原因:TypeScript编译器直接遵循tsconfig.json的规则找到你的类型声明,但ESLint的import插件需要额外的配置才能复用TS的模块解析逻辑,安装eslint-import-resolver-typescript并指向你的TS项目配置,就能让两者的解析逻辑对齐了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 06:22:33