更新@vue/cli-plugin-unit-jest及相关依赖的最佳实践
Vue 依赖更新最佳实践及同步更新问题解答
一、依赖更新的通用最佳实践
- 先做好备份:更新前把代码提交到Git,或者直接复制整个项目文件夹,万一更新出问题能快速回滚。
- 先看更新日志:针对你正在使用的
@types/jest、@vue/cli-service、@vue/test-utils这三个依赖,去官方仓库查看更新日志,重点留意大版本更新里的破坏性改动,比如API变更、功能废弃等信息,做到心里有数再操作。 - 用包管理器命令更新:
- 若使用npm:
npm update会按照package.json里的版本范围,将所有依赖更新到最新兼容版本;npm install <依赖名>@latest可单独把某个依赖更新到最新版。 - 若使用yarn:
yarn upgrade批量更新兼容版本;yarn upgrade <依赖名>@latest单独更新指定依赖。
- 若使用npm:
- 更新后务必验证:更新完成后,运行本地开发服务(
npm run serve)、执行单元测试(npm run test:unit),检查是否有报错,确保项目功能正常运行。
二、单独更新指定依赖并同步相关依赖的问题
当然可以单独更新@vue/cli-plugin-unit-jest,但其余依赖不会自动同步更新,不过需要注意几个关联要点:
- 版本必须匹配:
@vue/cli-plugin-unit-jest和@vue/cli-service同属Vue CLI工具链,大版本必须保持一致——比如你当前用的cli-service是4.x,插件也得用4.x系列,强行更新到5.x大概率会出现兼容性问题。 - 手动同步关联依赖:更新插件后如果遇到报错,需要手动调整相关依赖:
- 插件更新到4.x最新版后,建议把
@vue/cli-service也更新到4.x的最新版,保持工具链版本统一。 @types/jest的版本要和插件间接依赖的jest版本对应——比如插件依赖的jest是26.x,那@types/jest也得用26.x系列,否则类型定义会不兼容。@vue/test-utils1.x是配合Vue 2使用的,更新时要确保它和你的Vue版本、jest版本都兼容,不要误更到只支持Vue 3的2.x版本。
- 插件更新到4.x最新版后,建议把
- 禁止跨大版本混装:不要把不同大版本的依赖混装,比如cli-service 4.x搭配cli-plugin-unit-jest 5.x,这种情况基本都会报错,要么一起升级到同一大版本,要么都留在当前大版本更新最新兼容版。
内容的提问来源于stack exchange,提问作者Michael Kaufman
相关产品推荐
相关产品推荐

