程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了仅在 IOS 上访问 Angular 8 中的一些延迟加载的路由模块时出现“错误:加载块 X 失败”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决仅在 IOS 上访问 Angular 8 中的一些延迟加载的路由模块时出现“错误:加载块 X 失败”?

开发过程中遇到仅在 IOS 上访问 Angular 8 中的一些延迟加载的路由模块时出现“错误:加载块 X 失败”的问题如何解决?下面主要结合日常开发的经验,给出你关于仅在 IOS 上访问 Angular 8 中的一些延迟加载的路由模块时出现“错误:加载块 X 失败”的解决方法建议,希望对你解决仅在 IOS 上访问 Angular 8 中的一些延迟加载的路由模块时出现“错误:加载块 X 失败”有所启发或帮助;

问题描述

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

{
  path: "/bread",loadChildren: () => import('./bread/bread.module')
   .then(m => m.breadModulE)
}

所有路由在几乎所有桌面和 AndroID 设备浏览器中都可以正常工作 - 包括 macOS Safari -(下面列出了经过测试的工作环境),但是 在 IOS 设备上测试时,一些延迟加载的路由失败。在尝试访问这些路由时,无论是通过编程方式还是通过手动设置浏览器的 URL,控制台上都会显示以下错误:

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 来检测错误并强制网站重新加载。它会永远重新加载。
  • 硬重置浏览器。实际上,我们正在使用 LamPDAtest Realtime broswer 测试,每次新测试开始时,浏览器都是干净的。
  • 一些技巧,例如挠头、喝更多咖啡和重定向到缓冲区页面,然后重定向到实际路线。

由于某些限制,我们没有/无法尝试/实施的一些解决方案

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

工作环境

  • Chrome(windows - linux - macOS - AndroID)
  • firefox(windows - linux - AndroID)
  • 边缘
  • IE11
  • @H_335_23@macOS 上的 Safari

失败的环境

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

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

  • Angular 工具版本:https://pastebin.com/Q5MpRvxV
  • 浏览器列表:https://pastebin.com/Uasz4YXf
  • package.Json : https://pastebin.com/UQMM2jKv
  • angular.Json : https://pastebin.com/jeBQUmeQ

解决方法

找到了解决办法,之前写过一段代码,macOS不支持,RegExp中的Positive Lookahead和Lookbehind。

@H_262_87@
@H_262_87@

大佬总结

以上是大佬教程为你收集整理的仅在 IOS 上访问 Angular 8 中的一些延迟加载的路由模块时出现“错误:加载块 X 失败”全部内容,希望文章能够帮你解决仅在 IOS 上访问 Angular 8 中的一些延迟加载的路由模块时出现“错误:加载块 X 失败”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。