生成的项目执行 npm start 报 Error: Cannot find module 'dayjs',package.json 的 dependencies 里只有 vue 和 axios。乍看像缓存或者权限的锅,追下去往往不是。
npx depcheck
node -e "console.log(Object.keys(require('./package.json').dependencies))"
追下去是这么回事:模板文件用到了工具库,但模板的 package.json 是手写的,没跟着更新。生成器也不检查 import 和依赖是否对得上。
碰到「生成代码缺依赖」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。
能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。报错里带路径的,先去看那个路径在不在、权限对不对。
同一份配置存在多处的,先确认改的是被加载的那一份。新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。
具体做法是,补齐模板 package.json 里缺的依赖并锁版本;生成后跑一次依赖检查 扫描 import 与 dependencies 的差集;CI 里执行 npm ci 加一次构建 缺依赖会直接暴露;模板改动时把依赖清单一起 review。
验收就看一点,在空目录生成后 npm ci 与 npm run build 成功 depcheck 没有 missing 项。
