React webpack bundle 的预加载动画

Preloading animation for React webpack bundle

我有一个单页网络应用程序,大约有 300Kb 大。它与 webpack 捆绑在一起并使用 React/Redux.

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

一种方法是在 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 加载后,它将在内容中呈现,加载动画将消失。

编辑:

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

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

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

结果如下: