Vue首屏白屏问题的原因和解决方法讲解.docx

Vue首屏白屏问题的原因和解决方法讲解.docx

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)

},

文档评论(0)

1亿VIP精品文档

相关文档