怎么了
最近我把vscode的自动更新打开了,更新结束后,我一个TypeScript项目全线报错。所有的Catch语句都会报错,但是编译的时候不会报错。现象如下:
为什么
-
vscode更新的时候,vscode本地使用的TypeScript也会更新(如果有新版本的话),vscode本地使用的ts版本,与我们项目中的ts版本很可能不一致。
-
在Typescript4.4中,Catch 语句中默认使用 unknown 类型 (--useUnknownInCatchVariables)。
- 我们项目中使用的TypeScript版本为4.4以前的版本,因此编译不会报错。
怎么办
我们让vscode使用我们项目中使用的TypeScript版本,保持版本一致。
- 在Workspace Settings(JSON)中配置
"typescript.tsdk": "./node_modules/typescript/lib"
,让vscode能找到项目中node_modules里安装的TypeScript版本。
- 将vscode使用的TypeScript版本切换成项目安装的TypeScript版本。