返回顶部
首页 > 资讯 > 精选 >Vue开发中出现Loading Chunk Failed的问题如何解决
  • 923
分享到

Vue开发中出现Loading Chunk Failed的问题如何解决

2023-06-29 17:06:32 923人浏览 独家记忆
摘要

本文小编为大家详细介绍“Vue开发中出现Loading Chunk Failed的问题如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue开发中出现Loading Chunk Failed的

本文小编为大家详细介绍“Vue开发中出现Loading Chunk Failed的问题如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue开发中出现Loading Chunk Failed的问题如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

报错现象

某天测试反应在点击页签的时候出现了 Loading Chunk Failed 的错误,经过本人百度分析后判断是异步组件在发包时旧资源被替换的问题,然后一通CV操作之后发现问题还是存在,于是便有如下探究。

发生原因

用户在发包前进入了页面(也就是请求到了 index.html ),并且在 index.html 中可以得知将来要请求的异步组件的名字叫 a.js ,当服务器这时候发包,并且清空掉了 a.js 这个资源,改名叫 a1.js 。发包之后用户点击 a.js 对应的组件时,浏览器拿着先前在 index.html 得知的 a.js 这个名字去服务器请求资源就得到了以上的 Loading Chunk Failed 报错。

正常的生产上线流程可能存在静态资源和页面分属不同服务器,应该是先全量部署静态资源(各种js,CSS,图片),不清空旧资源,然后再部署页面。但如果清空掉旧资源就可能导致报错。

如果在测试环境中可能会采取清空覆盖掉旧资源,这个时候就必须要前端进行控制了。

解决思路

  • 在监听到路由报错的时候,前端强制刷新页面,重新获取index.html和对应的静态资源路径。

  • 设置preFetch,网络空闲的时候就请求资源,可以大幅降低报错的几率。

触发bug

想要解决问题首先就是得复现问题,涉及到发包上线的测试和验证都有点小尴尬,因此提供下个人思路

  • 最直接的就是你开个页面,然后控制台网络禁用掉缓存,然后发包后进入其他异步组件触发bug。

  • 如果想要触发 onError 这个钩子的话,直接断开 devServer 就可以了。

  • 本地复现的话就是开个本地服务器,然后进入页面,把 dist 文件夹中对应的js文件删去即可触发。

代码实现

    router.onError((error) => {   const jsPattern = /Loading chunk (\S)+ failed/g   const cssPattern = /Loading CSS chunk (\S)+ failed/g   const isChunkLoadFailed = error.message.match(jsPattern || cssPattern)   const targetPath = router.history.pending.fullPath   if (isChunkLoadFailed) {     localStorage.setItem('targetPath', targetPath)     window.location.reload()   } })  router.onReady(() => {   const targetPath = localStorage.getItem('targetPath')   const tryReload = localStorage.getItem('tryReload')   if (targetPath) {     localStorage.removeItem('targetPath')     if (!tryReload) {       router.replace(targetPath)       localStorage.setItem('tryReload', true)     } else {       localStorage.removeItem('tryReload')     }   } })

读到这里,这篇“Vue开发中出现Loading Chunk Failed的问题如何解决”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: Vue开发中出现Loading Chunk Failed的问题如何解决

本文链接: https://lsjlt.com/news/325950.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue开发中出现Loading Chunk Failed的问题如何解决
    本文小编为大家详细介绍“Vue开发中出现Loading Chunk Failed的问题如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue开发中出现Loading Chunk Failed的...
    99+
    2023-06-29
  • Vue开发中出现Loading Chunk Failed的问题解决
    目录报错现象发生原因解决思路触发bug一点思考报错现象 某天测试反应在点击页签的时候出现了 Loading Chunk Failed 的错误,经过本人百度分析后判断是异步组件在发包时...
    99+
    2024-04-02
  • 如何解决PHP开发中的内存溢出问题
    随着PHP的应用越来越广泛,PHP开发中的内存溢出问题也成为了开发者们共同面临的挑战。内存溢出是指程序在运行过程中申请的内存超过了内存空间的限制,导致程序出现异常或崩溃的情况。本文将介绍如何解决PHP开发中的内存溢出问题,并提供一些具体的代...
    99+
    2023-10-21
    解决方法 内存溢出
  • 如何解决Vue+Element ui开发中碰到的IE问题
    这篇文章将为大家详细讲解有关如何解决Vue+Element ui开发中碰到的IE问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。IE9样式错乱,IE11无法正常加载v-...
    99+
    2024-04-02
  • 如何解决Vue开发环境跨域访问的问题
    小编给大家分享一下如何解决Vue开发环境跨域访问的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Vue开发环境跨域访问其他服...
    99+
    2024-04-02
  • php、js和json开发出现乱码问题如何解决
    这篇“php、js和json开发出现乱码问题如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php、js和json开发...
    99+
    2023-07-06
  • Android 中出现java.net.BindException: bind failed: EADDRINUSE 问题解决办法
    Android 中出现java.net.BindException: bind failed: EADDRINUSE 问题解决办法看下问题:try{DatagramSocket udpSocket = new DatagramSocket(...
    99+
    2023-05-31
    android bindexception inde
  • vue开发中出现警告问题怎么办
    小编给大家分享一下vue开发中出现警告问题怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!出现这个警告问题的时候 我们可以去...
    99+
    2024-04-02
  • 如何解决vue-cli开发环境跨域的问题
    小编给大家分享一下如何解决vue-cli开发环境跨域的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前后端分离开发中必要会遇...
    99+
    2024-04-02
  • 如何解决Spring boot 和Vue开发中CORS跨域问题
    这篇文章主要介绍如何解决Spring boot 和Vue开发中CORS跨域问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 遇到的问题:我用spring-boot 做Rest服...
    99+
    2024-04-02
  • 如何解决CentOS MAKE中出现的问题
    如何解决CentOS MAKE中出现的问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在CentOS MAKE的使用中会出现很多的问题,这次,我就碰到了CentOS MA...
    99+
    2023-06-16
  • 如何解决Vue开发模式下跨域问题
    这篇文章给大家分享的是有关如何解决Vue开发模式下跨域问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。设置请求头部后端设置请求头部Access-Control-Allow-Cr...
    99+
    2024-04-02
  • Vue-cli proxyTable如何解决开发环境的跨域问题
    小编给大家分享一下Vue-cli proxyTable如何解决开发环境的跨域问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!和...
    99+
    2024-04-02
  • uniapp和uniCloud开发中常出现的问题及解决汇总
    目录一、manifest.json内未配置Appld,请重新获取后再解决办法:二、uniapp引入iconfont字体报错,文件查找失败:'./iconfont.woff2解...
    99+
    2022-12-08
    uniapp开发遇到的问题 uniapp+unicloud uniapp开发注意事项
  • 解决JavaEE开发中字符编码出现乱码的问题
    网上有很多处理字符编码的解决方案,在此,我站着前人的肩膀上作自己的总结。在我看来,出现乱码问题的解决方法无非就是在3个地方进行编码设置:HTML、JSP等前端页面;后台servlet中request和response对象;服务器配置文件。1...
    99+
    2023-05-31
    字符编码 乱码 javaee
  • 如何解决使用vue-aplayer插件时出现的问题
    这篇文章主要介绍如何解决使用vue-aplayer插件时出现的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:安装$ npm install ...
    99+
    2024-04-02
  • 如何解决vue数据渲染出现闪烁的问题
    这篇文章主要介绍了如何解决vue数据渲染出现闪烁的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在使用vue进行数据渲染的时候发现当我不...
    99+
    2024-04-02
  • vue中如何解决qs问题
    这篇文章主要介绍“vue中如何解决qs问题”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中如何解决qs问题”文章能帮助大家解决问题。什么是查询字符串查询字符串是一个包含在URL中的参数列表,用...
    99+
    2023-07-05
  • vue-cli开发时如何解决关于ajax跨域的问题
    这篇文章主要介绍vue-cli开发时如何解决关于ajax跨域的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!目的:使用vue-cli构建的项目,在开发时,想要访问后台接口获取数据...
    99+
    2024-04-02
  • ios开发中如何解决navigationBar的透明问题
    这篇文章将为大家详细讲解有关ios开发中如何解决navigationBar的透明问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。navigationBar的透明问题如果...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作