npx tsc --noEmit grep -rn ": any" src | wc -l npx tsc --noEmit --noImplicitAny 2>&1 | tail -5
把 noImplicitAny 打开试了一次,tsc 刷出 412 条错误,其中三百多条都指向同一个工具函数的返回值。半年前那个文件里只有 3 处 any。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。
追下去是这么回事:any 参与运算之后结果仍然是 any,赋值、传参、返回值一路都不做检查。一个公共函数标了 any,所有调用方拿到的都是 any,类型检查从那一行往下整片失效。
围绕「any 类型传染」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。
处理上按这个顺序:先统计 any 分布在哪些文件 按被引用次数排序;从被引用最多的那个工具函数开始 补上真实入参和返回类型;每改完一个文件跑一次 tsc 记下错误数;新代码开 noImplicitAny 老目录先放进 exclude。
确认没问题再收工,错误数从 412 降到两位数 any 的处数不再增加 新增文件里搜不到裸 any。
