React webpack 包的预加载动画

IT技术 reactjs webpack preload
2021-05-21 16:51:05

我有一个单页 webapp,大约 300Kb 大。它与 webpack 捆绑在一起并使用 React/Redux。

如何在页面加载之前放置一个小的加载微调器?我可以形象

  • 将样式和 css 放入静态index.html
  • 使用像krux/postscribe这样的异步加载器
2个回答

一种方法是在 index.html 中插入加载动画

例如

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <div id="content">
            <div id="loader" />
        </div>
        <script src="build/app.js"></script>
    </body>
</html>

然后在 bundle.js 加载后,它会在内容中渲染,加载动画将消失。

编辑:

另一种方法是使用渐进式 webapp。 https://developers.google.com/web/updates/2015/10/splashscreen

但是,此功能可能仅在现代浏览器中可用,这就是为什么应将第一种方法用作后备方法的原因。然而,好处是,如果您的应用处于离线状态,它仍会播放加载动画并给出特定的错误消息。

我也遇到过这个问题,但有一个例外:我想显示一个加载进度条。我最终编写了一个 webpack 插件和一个自定义资产引导加载程序。查看我的演示项目存储库

结果如下: