第
Vue首屏白屏问题的原因和解决方法讲解
目录一.路由模式错误(路由重复或者没有配置路由)二.dist中文件引用路径错误(vue项目打包的路径问题)三.浏览器不支持es6四.加载文件资源过大vue首屏白屏原因大概有以下几点:
一.路由模式错误(路由重复或者没有配置路由)
(1)由于把路由模式mode设置成history了,默认是hash
解决方法:将模式改为hash模式,或者直接把模式配置删除,而且history需要后端配合
(2)做动态路由时,next()放行与next(...to,replace)区别造成的白屏,实质是路由重复
(3)第一次正常访问,刷新后白屏,vuex没有与本地存储结合,刷新后导致数据丢失
二.dist中文件引用路径错误(vue项目打包的路径问题)
打包后的dist目录下的文件引用路径不对,因找不到文件而报错导致白屏
解决方法:vue.config.js中publicPath:./
三.浏览器不支持es6
在项目中使用了es6语法,一些浏览器不支持es6,造成编译错误不能解析而造成白屏
解决方法:
安装Babel,Babel会把这些新语法转译成较低版本的代码。
npminstall--save-dev@babel/core@babel/cli@babel/preset-env
四.加载文件资源过大
单页面应用的html是靠js生成,因为首屏需要加载很大的js文件(app.js和vendor.js),所以当网速差的时候会产生一定程度的白屏
解决方法:
路由懒加载,组件懒加载
路由懒加载
//1、Vue异步组件技术:
path:/home,
name:Home,
component:resolve=require([../views/home.vue],resolve)
//2、es6提案的import()
path:/,
name:home,
component:()=import(../views/home.vue)
//3、webpack提供的require.ensure()
path:/home,
name:Home,
component:r=require.ensure([],()=r(require(../views/home.vue)),home)
}
组件懒加载
//import方式
components:{
dailyModal:()=import(./dailyModal.vue)
//require方式
components:{
dailyModal:resolve=require([./dailyModal.vue],resolve)
},
您可能关注的文档
最近下载
- 2025年安徽省公务员行测真题(各地真题).docx VIP
- 八年级语文下册第三单元知识梳理与解析.docx VIP
- 内蒙古呼和浩特市2025-2026学年高一上学期期末考试政治试卷(含答案).pdf VIP
- 湖北省黄石市2025-2026学年高二上学期2月期末语文试卷(含答案).pdf
- 人教版八年级语文下册第一单元知识梳理全套.docx VIP
- (人教版)2025年高一物理寒假衔接讲练 ②寒假预习-第07讲 竖直平面内的圆周运动(教师版).doc VIP
- Simon考官9分大作文范文合集.pdf VIP
- 《眼视光技术》高阶课程-眼压计.pptx VIP
- 八年级语文下册第一单元的知识要点梳理.docx VIP
- Sony索尼耳机WH-1000XM2用户手册.pdf
原创力文档

文档评论(0)