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

旧TypeScript代码编译失败求助:TS1110类型错误

解决TS1110编译错误的方案

核心问题

你使用的TypeScript 3.9.7版本过低,无法识别TS5.0版本@types/react中的模板字面量类型语法(${T})。仅锁定@types/react-dom版本无效,因为它会自动拉取兼容的高版本@types/react,导致版本不匹配。

具体修复步骤

  • 同时锁定@types/react和@types/react-dom的兼容版本:在package.json的resolutions字段中同时指定适配TS3.9的版本,比如17.x系列:
    "resolutions": {
      "@types/react": "17.0.62",
      "@types/react-dom": "17.0.20"
    }
    
  • 清理Docker缓存并重新构建:Docker会缓存依赖文件,需强制重新安装:
    1. 停止容器:docker compose down
    2. 清理缓存(可选,确保彻底更新):docker system prune -f
    3. 重新构建启动:docker compose up --build
  • 验证依赖版本:进入前端容器执行yarn list @types/react @types/react-dom,确认两个依赖均为你指定的17.x版本,无TS5.0版本混入。

额外注意事项

  • 若项目使用npm而非yarn,需用overrides字段替代resolutions(npm 8.3+支持):
    "overrides": {
      "@types/react": "17.0.62",
      "@types/react-dom": "17.0.20"
    }
    
  • 确保package.json中react和react-dom的实际版本与@types版本匹配(比如均为17.x),避免类型与库本身版本不兼容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 07:02:35