写在开头
- 前端灵魂拷问:
同一个项目,同一份代码,别人电脑上能跑,为什么自己电脑上就不行?
同一个项目,同一份代码,别人自己电脑上打包构建,为什么服务器上就不行?
那原因是什么?
原因一般不止一个,可能你当时出现问题,是姿势不对,又或者是环境问题,又或者是同事的操作不规范等等情况,我们接下来一一道来。
原罪之一:npm/yarn等使用不规范
前端的依赖通过npm/yarn等包管理器来安装时,没有锁定版本,例如你的同事安装依赖时:
yarn add react --save
那么这个版本到底是什么?众所周知,react在18版本之前,不能同时存在两个react,否则会报错,直接白屏
当同事使用yarn安装react时候,会生成一份yarn.lock
文件,用于锁定这次安装的react版本信息,可是这个时候你把代码克隆下来,使用npm
安装,然后启动项目,发现项目本身的react版本和其他第三方库的react版本不兼容,这个时候你就跑不起来了。
所以:多人开发协作,要统一包管理器,统一使用一份lock文件,用git管理这个文件来锁定依赖安装版本
另外,安装依赖时候尽量锁定版本,例如:
yarn add react@16.18.0 --save
<