首页
学习
活动
专区
圈层
工具
发布

react lazy加载资源找不到的问题

在 Umi 4 中,默认按页拆包进行优化,实现每个页面只需加载最少的 js 资源,这会产生很多异步 js 分包。...通常我们会开启 hash: true 构建,将 js / css 等资源做长期缓存,而 html 不缓存。 然而,在版本发布时,如果有用户在旧的应用 html 上加载新的页面,会导致旧资源 xxx....下面为大家介绍两种解决方案: 一、加载失败自动重试方案 可以考虑 patch React.lazy 加载方法,遇到加载失败后自动 reload 页面重试。...以下是自动重试的示例代码,若阻塞超过 10s,则弹出报错弹窗需用户手动刷新加载: // src/global.tsx import { Modal, Result } from 'antd'; import...自动检测新版本是否发布方案 还可参考https://github.com/umijs/umi/issues/10171 中的方案,在后台轮询 html 内容,在 html 中或其他位置维护新的版本标识,发版后将自动提示用户刷新页面

1.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Web 项目刚要打包,却找不到项目资源?

    这里简单记录下在 Idea 中导入或新建 web 项目后,当你想部署起来愉快的运行的时候,却发现找不到要部署的项目,就如下面这样的: ?    ...所以,问题找到了,因为你不知怎么抽风导入的项目还不是一个 web 项目,没有 web 资源,自然无法在 web 服务器上进行部署。解决方式也就简单了,就是把你的目录变为 web 项目的 web 目录。...而 web  项目的 入口是 web.xml ,所以,主要的解决方式就是通过设置让 Idea 找到这个 入口文件,并指定 web 项目的资源目录(ROOT PATH),也就是我们开发中常见的 web目录或...如果你的项目本来还没有资源目录,用上图的操作新建目录资源就可以了,如果是已有资源目录的,要指定自己的目录为项目资源目录的话,只需要按下图进行路径修改即可: ?    ...最后,你会看到你指定的文件在 Idea 中终于变成资源目录了。   搞定收工!

    1.3K40

    vuex在页面刷新后数据被清除

    用vuex来做全局的状态管理, 发现当刷新网页后,保存在vuex实例store里的数据会丢失 产生原因 其实很简单,因为store里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例,store...而第二种可以保证刷新页面数据不丢失且易于读取。...因为我们是只有在刷新页面时才会丢失state里的数据,想法在点击页面刷新时先将state数据保存到sessionStorage,然后才真正刷新页面 beforeunload这个事件在页面刷新时先触发的。...我们总不能每个页面都监听这个事件,所以选择放在app.vue这个入口组件中,这样就可以保证每次刷新页面都可以触发。...$store.state,JSON.parse(sessionStorage.getItem("store")))) } //在页面刷新时将vuex里的信息保存到sessionStorage

    4.6K00
    领券