首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“错误:加载块X失败”当访问仅在IOS上的角8中的一些延迟加载路由模块时

“错误:加载块X失败”当访问仅在IOS上的角8中的一些延迟加载路由模块时
EN

Stack Overflow用户
提问于 2021-04-14 11:42:39
回答 1查看 228关注 0票数 0

问题描述

在我们的角8项目中,有些路由是使用以下语法延迟加载的

代码语言:javascript
复制
{
  path: "/bread",
  loadChildren: () => import('./bread/bread.module')
   .then(m => m.BreadModule)
}

几乎所有的桌面和安卓设备浏览器--包括macOS Safari (下面列出的测试工作环境列表)--都能很好地运行所有路由,但是在IOS设备上测试时,的一些延迟加载的路由失败了。当尝试以编程方式或通过手动设置浏览器的URL访问这些路由时,控制台上会显示以下错误:

代码语言:javascript
复制
ERROR ERROR Error: Uncaught (in promise): Error: Loading chunk 5 failed.
(missing: https://192.168.220.128/ui/5.962e65be9c4b000c89f6.js)
a@https://192.168.220.128/ui/runtime.b5d7c083c76af74c6510.js:1:1269
P@https://192.168.220.128/ui/polyfills.27aa9b55940b8e5475a1.js:1:18520
onInvokeTask@https://192.168.220.128/ui/main.1b4a84881faf77e4effa.js:1:144508
https://192.168.220.128/ui/polyfills.27aa9b55940b8e5475a1.js:1:3483
https://192.168.220.128/ui/polyfills.27aa9b55940b8e5475a1.js:1:9381
y@https://192.168.220.128/ui/polyfills.27aa9b55940b8e5475a1.js:1:22586
_@https://192.168.220.128/ui/polyfills.27aa9b55940b8e5475a1.js:1:22811

尝试过的解决方案

下面列出了我们尝试过但没有成功的解决方案:

  • 添加一个检测错误并强制网站重新加载的全局ExceptionHandler。它会永远不停地重新装填。
  • 很难重新设置溴化物器。实际上,我们使用的是[医]灯笼实时浏览器测试,每次新测试启动时,浏览器都是干净的。
  • 一些黑客,比如抓头,喝更多的咖啡,重定向到缓冲区页面,然后重定向到实际的路线。

由于一些限制,我们没有/不能尝试/实现一些解决方案

  • 任何PWA
  • 预压模块
  • 不使用延迟加载(实际上,这会破坏性能,并且仍然显示iOS上的其他邪恶错误)

工作环境

  • Chrome (Windows macOS - Android)
  • Firefox (Windows Android)
  • 边缘
  • IE11
  • macOS上的狩猎

失败环境

  • iOS上的Safari (在设备上试用并使用Lambdatest实时浏览器测试)
  • iOS上的Chrome (尝试使用Lambdatest实时浏览器测试)
  • FF on iOS (尝试使用Lambdatest实时浏览器测试)

一些可能有帮助的文件/日志

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-14 12:58:52

找到了解决方案,这是我之前编写的一段代码,它在macOS中是不支持的,它是积极的前瞻性和在RegExp中查找。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67091079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档