众所周知,js的依赖坑是很多的……要么版本太低存在安全漏洞,要么版本太高和别的依赖不兼容……甚至有人为了解决这个问题,直接通过「安装一个依赖版ci一次检查是否可行」的方式来避坑(https://zhuanlan.zhihu.com/p/358385228)……简直让我大开眼界了……其实还有个取巧的方法,两步搞定:
- npm update 帮助开发者把包升级到最新版,但是会存在依赖不兼容问题;
- npm install --registry=https://registry.npm.taobao.org 在最新版的基础之上,通过阿里源来修正依赖不兼容问题(阿里内部会整理出一套依赖间兼容stable方案)
如果开发者用的是vue2,那么vue-router需要修改为3.5.3版本、vuex改为3.6.2版本,否则跑起来之后会白屏。
以上方案我用于更新了团队的4个前端项目,都没有出过问题。