vue首屏白屏原因及解决办法

这篇具有很好参考价值的文章主要介绍了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')
}
 

 组件懒加载文章来源地址https://www.toymoban.com/news/detail-474472.html

// import 方式
components:{
  "dailyModal":()=>import("./dailyModal.vue")
},
// require 方式
components:{
  "dailyModal":resolve=>require(['./dailyModal.vue'],resolve)
},

到了这里,关于vue首屏白屏原因及解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VUE项目运行失败原因以及解决办法(以vscode为例)

    Ctl +J 打开终端,并运行如下命令: npm run serve 正常情况下,就可以得到本地和网络链接,如下:  点击链接即可进入到编辑好的页面。 不过,你也可能遇到如下情况↓↓↓ ENOENT: no such file or directory, open \\\'D:codehuman_resource_management 3package.json\\\' 这个错误表明npm无法找到指定的

    2024年02月04日
    浏览(51)
  • vue/react项目刷新页面出现404的原因以及解决办法

    问题描述:vue/react项目,正常的页面操作跳转,不会出现404的问题,但是一旦刷新,就会出现404报错。 产生原因:我们打开vue/react打包后生成的dist文件夹,可以看到只有一个 index.html 文件及一些静态资源,这个是因为vue/react是单页应用(SPA),只有一个index.html作为入口文件,

    2024年02月06日
    浏览(50)
  • 电脑启动后出现白屏问题的可能原因及解决方案

    电脑开机后出现白屏问题是一种常见的故障,可能由多种原因引起。在本文中,我将介绍一些可能的原因,并提供相应的解决方案,以帮助您解决这个问题。 显示器故障:首先,检查显示器是否正常工作。可以尝试连接另一个显示器或电视,看看是否仍然出现白屏问题。如果

    2024年02月04日
    浏览(46)
  • Vue 报错-4058 ENOENT: no such file or directory的原因和解决办法

    关于为什么为会报这个错误,按照字面意思的理解就是没有找到这个文件或这个路径,说明是路径不对。需要cd转到根目录下。 上图可见我后面的路径是exam1package.json,但是实际的路径我中间还有一个my-app。 所以需要跳转到正确的路径下,就不会报这个错啦。(日常记录下,

    2024年02月11日
    浏览(83)
  • vue项目中beforeDestroy和destroyed 钩子不起作用或者说不生效的原因和解决办法

    项目中,在destroyed 写了东西,不生效,后来发现beforeDestroy也没走,就很好奇,为什么?进来的程序猿/程序媛是不是和我一样呢? ** ** 这时候排查原因,不断的找,最后发现,很简单,keep-alive的原因,keep-alive 是 Vue 的内置组件,当它包裹动态组件时,会缓存不活动的组件实

    2024年02月13日
    浏览(39)
  • Vue computed 报错:Computed property ‘ ‘ was assigned to but it has no setter 错误原因分析与解决办法

    错误描述 最近在封装Vue模块时,借助Vue的Computed属性监听传递的数据,但是开发调试过程中控制台取提示 Computed property was assigned to but it has no setter  错误。控制台报错如下:  错误分析 根据控制台错误提示,组件中定义的 computed 属性缺少 setter ,使用过 computed  都应该知道,

    2023年04月14日
    浏览(47)
  • vue项目切换页面白屏的解决方案

    问题描述 1、页面切换后白屏,同时切换回上一个页面同样白屏 2、刷新后正常显示 3、有警告: Component inside Transition renders non-element root node that cannot be animated 解决方法 Transition中的组件呈现不能动画化的非元素根节点 也就是说,组件内必须有一个根元素 之前: 现在:  原来

    2024年02月08日
    浏览(41)
  • vue项目切换页面会白屏,刷新之后才会正常显示(已解决)

    面对这种问题有两个方面: 1.就是template中没有div标签/template 错误写法: 正确写法:  切记:div标签必须是包裹住所有的标签,除了template外这个div就是爹 2.template中有div标签/template 错误写法:原因:他会把注释当作为一个节点,所以div就不是最大的容器了,他要先识别div标

    2024年02月10日
    浏览(58)
  • WebsocketClient断线原因及解决办法

    网络连接问题:WebSocketClient依赖于网络连接,如果网络连接不稳定或出现故障,可能会导致WebSocketClient断线。 服务器问题:如果WebSocket服务器出现故障或过载,可能会导致WebSocketClient断线。 防火墙问题:防火墙可能会阻止WebSocketClient与服务器之间的通信,导致断线。 超时问

    2024年02月09日
    浏览(41)
  • 小程序常见授权失败原因和解决办法

    误选择了公众号授权、账号已被授权给其他第三方平台、小程序授权的权限不足以定制小程序、小程序信息不完整等都会导致授权失败。 我们在进行小程序授权的时候,会出现提示“授权失败”的现象,到底是哪里出了问题导致小程序无法授权成功呢?授权失败时,多半是你

    2024年02月06日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包