做开发日常最崩溃的瞬间:本地运行完美无Bug,打包部署到服务器,直接报错、页面白屏、接口全部不通。
最近线上迭代又遇到了这个问题,总结了日常最常见5个原因,新手可以直接避坑:
- 环境不一致:本地Windows,服务器Linux,路径大小写、文件分隔符不同直接报错
- 跨域问题:本地前端后端同源无跨域,线上域名不同,跨域直接拦截请求
- 缓存问题:浏览器强缓存、服务器缓存,旧代码一直覆盖新代码
- 依赖版本差异:没锁定依赖版本,线上自动安装最新依赖导致兼容报错
- 本地硬编码地址:本地写死localhost接口地址,线上无法访问
心得:以后开发一定要遵循环境统一、地址配置化、打包前清除缓存三个原则,能省下大量线上排错时间。