接手一个老项目,any 满天飞,光类型错误就有 2000 多个。开启 noImplicitAny 直接全红,团队根本没人敢动。
我的渐进治理思路:
- 先开
skipLibCheck,把第三方 .d.ts 排除。 - 把
any临时改成unknown,强制使用前收窄。 - 高频模块单独建类型,逐个收口。
- lint 加
no-explicit-anywarning(先 warn 不 error)。
半年下来 any 占比从 18% 降到 6%。剩下都是第三方库背锅的。
大家治理老项目 TS 都有啥套路?