VSCode中CRA项目TypeScript版本不兼容编译问题咨询
CRA项目TypeScript版本兼容问题解答
1. 项目无法编译的原因
- Create React App(CRA)会强制锁定内部使用的TypeScript版本,不受你手动修改
package.json里的TS版本或全局TS版本影响。 - 你升级项目
package.json的TS版本后执行npm install,只是安装了项目依赖的TS,但CRA编译时依然会调用自己内置的旧版本TS,这个版本不支持TS 4.0特性,所以终端编译报错。
2. PROBLEMS面板与终端的TS版本差异及错误不同的原因
- PROBLEMS面板:使用的是你当前VSCode配置中选择的TypeScript版本,该版本支持TS 4.0特性,因此不会检测到语法错误。
- 终端编译:使用的是CRA内置的TypeScript版本(既不是项目
package.json里的版本,也不是全局TS版本),这个版本低于4.0,无法识别TS 4.0的新特性,所以会抛出编译错误。 - 两者使用的TS版本完全不同,因此不会出现相同的错误提示。
内容的提问来源于stack exchange,提问作者avishco
相关产品推荐
相关产品推荐

