乐趣区

关于前端:前端灵异事件-好好的代码就我跑不起来

写在结尾

  • 前端灵魂拷问:

同一个我的项目,同一份代码,他人电脑上能跑,为什么本人电脑上就不行?

同一个我的项目,同一份代码,他人本人电脑上打包构建,为什么服务器上就不行?

Peter 老司机这次带你们粗浅的剖析这个问题

那起因是什么啊?

起因个别不止一个,可能你过后呈现问题,是姿态不对,又或者是环境问题,又或者是共事的操作不标准等等状况,咱们接下来一一道来。

看之前记得来波关注:


原罪之一: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 

同理:当你的构建机器和本地开发机器应用的命令不一样时候,也会导致这个问题,例如本地应用yarn install, 构建机器应用npm instasll

原罪之二:Node.js 版本不统一

目前前端的工程化,都是大部分基于 Node.js 环境,node.js的版本公布降级很快,新老版本的 api 不兼容很失常,例如你的电脑上是 16 版本的 nodejs, 搭配了比拟新的 webpack 版本,那样能够失常应用,然而一上构建机器,或者去了共事那边版本比拟旧的电脑,就跑不起来了。

举荐应用 nvm 治理 node.js 版本, 让电脑上存在多个 nodejs 版本

原罪之三:非凡环境配置

例如,电脑上短少 hosts 配置,这个我的项目自身须要跑在特定的 host 上,然而你的电脑没有写入配置,就会导致我的项目无奈启动

原罪之四:特定依赖源无奈下载

这种要分状况:

一种是真的源在国外,比较慢,会常常超时,无奈下载,也就无奈启动(例如前端之痛node-sass

装置的时候能够指定源地址为淘宝镜像:

npm install -g mirror-config-china --registry=http://registry.npm.taobao.org

npm install sass-loader node-sass -D

一种是公有镜像源做了爱护,在公网没有权限拜访,装置时候控制台报 401,须要开公司 VPN

原罪之五:特定依赖下载后编译很久,或者无奈编译通过

例如 windows 装置依赖时候提醒:是没有装置 python2.7 环境

此时,你只须要执行这一条命令就会给你装置 python 环境

npm install --global --production windows-build-tools

跨平台开发,首选 Mac 电脑,会为你提前解决很多环境问题

原罪之六:端口被占用

里面有可能会同时启动多个我的项目,例如:当我的项目占用端口 8080 后,前面再启动我的项目,就会报端口倍占用

这个时候你须要调整启动的端口即可

结语

置信通过这六点总结,能解决你大部分我的项目中同一份代码却跑不起来的问题,要晓得我的项目能在他人电脑上跑起来,你的电脑也肯定能够。如果不能够,就是你的姿态问题

记得帮我公众号:前端巅峰 来个:在看 / 赞 / 关注

退出移动版