React项目构建遇TypeScript TS1110错误,求解决方案
解决React项目中@types/react-router的TypeScript TS1110错误
问题根源
这个错误是因为你的TypeScript版本过低,无法识别@types/react-router类型定义里用到的模板字符串类型推断语法(比如${infer Param}?)。这类语法是TypeScript 4.1及以上版本才新增的特性,旧版本TS会把它当成无效语法,抛出「Type expected. TS1110」错误。
可行解决方案
- 优先升级TypeScript版本:在项目根目录运行以下命令,将TS升级到兼容的稳定版本(推荐4.1+,直接装最新版更稳妥)
npm install typescript@latest --save-dev # 用yarn的话执行 yarn add typescript@latest --dev - 降级@types/react-router(备选):如果暂时无法升级TS,可以降级类型包到适配当前TS版本的旧版。比如安装支持低版本TS的5.x系列类型包:
注意:降级类型包可能会缺失部分新特性的类型支持,所以优先推荐升级TS。npm install @types/react-router@5.1.18 --save-dev # yarn用户执行 yarn add @types/react-router@5.1.18 --dev
验证修复
运行项目构建命令,确认错误已消除:
npm run build # 或者 yarn build
内容的提问来源于stack exchange,提问作者Rohan Jayaraj
相关产品推荐
相关产品推荐

