最新动态:根据2025年7月前端社区调研,约23%的Vue开发者曾遭遇部署后白屏问题,其中80%与路径配置或资源加载相关。
当你满怀期待刷新部署后的页面,却只看到一片空白时,内心可能是这样的:😱 → 🤔 → 😤,别急!常见原因有这些:
publicPath
没设对,JS/CSS加载404 按下F12
直奔重点:
Failed to load resource
) chunk-vendors.js
) 👉 典型场景:看到一堆404?大概率是vue.config.js
里的publicPath
没配好!
如果你的路由用了history
模式:
// router/index.js const router = new VueRouter({ mode: 'history', // 需要服务器支持 routes: [...] })
但服务器(如Nginx)未配置:
location / { try_files $uri $uri/ /index.html; }
结果:刷新非首页路由直接404 ➔ 白屏
现代项目常用gzip/brotli
压缩,但服务器可能:
👉 解决方案:对比本地dist
文件大小和网络请求中的资源大小,差异过大说明压缩未生效。
开发环境好好的,上线挂了?检查:
.env.production
是否包含VUE_APP_API_BASE
等关键变量 npm run build --mode=production
直接在index.html
里写个<h1>Hello World</h1>
:
// vue.config.js module.exports = { publicPath: process.env.NODE_ENV === 'production' ? '/your-subfolder/' // 注意结尾斜杠! : '/' }
server { listen 80; location / { root /path/to/dist; index index.html; try_files $uri $uri/ /index.html; # 解决history路由问题 } # 开启gzip gzip on; gzip_types text/css application/javascript; }
在构建文件名中加入哈希:
// vue.config.js module.exports = { filenameHashing: true // 默认就是true,别手贱关掉! }
部署前请逐项核对:
publicPath
适配服务器目录结构 .env.production
变量已注入 dist/index.html
能否直接打开 最后的小彩蛋 🥚:遇到诡异白屏时,试试在main.js
最开头加console.log('Vue is mounting...')
,如果没打印——说明连JS都没执行到!
希望这篇指南能让你下次见到白屏时,从容应对!🚀 如果还有其他部署疑难杂症,欢迎在评论区交流~
本文由 植盼夏 于2025-07-30发表在【云服务器提供商】,文中图片由(植盼夏)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/483193.html
发表评论