模板仓库这个季度改了 9 处,包括日志封装和请求拦截器,40 个已生成的项目还停留在旧写法,逐个改要两天。日志里能对上时间点,这种反而好排。

生成器只在创建时复制一份代码,模板和产物之间没有版本关系。项目里也没有记录自己是哪个模板版本生成的。这一点先确认清楚,后面就不用反复试。

cat .template-version
node bin/gen.js upgrade --from 1.2 --to 1.4 --dry-run
node bin/gen.js upgrade --from 1.2 --to 1.4

围绕「模板同步更新」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。

报错里带路径的,先去看那个路径在不在、权限对不对。

处理上按这个顺序:生成时在项目里写一个 .template-version 文件;把可复用的部分抽成包 项目依赖包而不是复制代码;必须复制的文件提供 upgrade 子命令按版本差异打补丁;升级前在分支上跑 确认改动范围。

结果对不对很好判断,执行 upgrade 后依赖版本和日志封装更新 diff 只包含预期的 9 处改动。

作者 9823189