vue首屏白屏原因及解决办法
vue
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
项目地址:https://gitcode.com/gh_mirrors/vu/vue
·
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 会把这些新语法转译成较低版本的代码。
npm install --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)
},
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:3 个月前 )
9e887079
[skip ci] 1 年前
73486cb5
* chore: fix link broken
Signed-off-by: snoppy <michaleli@foxmail.com>
* Update packages/template-compiler/README.md [skip ci]
---------
Signed-off-by: snoppy <michaleli@foxmail.com>
Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)