TypeScript strict 模式分批迁移怎么做,先从边界类型开始
我们项目打开 TypeScript strict 后,第一轮直接冒出几百个报错,团队一开始想一次性修完,结果两天都在处理 null 和 any,业务需求完全卡住。 我后来把迁移拆成三步。第一步只处理 API response、表单入参、URL query 这些边界类型,先用 zod 或手写 guard 把 unknown 收进来。第二步给老模块建一个临时 tsconfig 分区,不让新代码继续写隐式 any。第三步每次改一个目录,跑 typecheck 和关键页面 smoke test,别全仓库一起动。 经验是 strict 迁移不是比谁修得快,而是控制风险。建议同行先从数据边界下手,给临时豁免写 TODO 和 owner,PR 里说明哪些错误这次不处理,后面才不会变成没人敢碰的半成品。