Expo build:web 构建巨大的捆绑包和缓慢的网站,性能不佳

Yes*_*500 5 performance pagespeed react-native react-native-web expo

expo build:web 生成的包大小非常大,平均为 3mb。

\n

我完成了https://docs.expo.io/guides/web-performance/上的步骤。我的应用程序没有图像,因此优化它们没有真正的问题。其他建议的改进变化很小。

\n

我使用了捆绑包分析器,并且没有安装任何大尺寸的模块来导致 3mb 捆绑包大小。

\n

当我运行构建时,我得到:

\n
entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (48.8 KiB). This can impact web performance.\nEntrypoints:\n  app (3.2 MiB)\n      static/js/runtime~app.aaee9ccd.js\n      static/js/2.a5f54fa3.chunk.js\n      static/js/app.98ae2f23.chunk.js\n
Run Code Online (Sandbox Code Playgroud)\n

其结果是网页的性能极差。

\n

如果我在浏览器中的构建结果上运行 google \xe2\x80\x9clightspeed\xe2\x80\x9d (pagespeed Insights),我会得到非常差的初始页面加载评级。

\n

我正在考虑一种可能的解决方法,即分支,然后 expo 弹出,然后删除所有不必要的 npm 模块以减少包大小。

\n

我\xe2\x80\x99ve还在一些组件上添加了延迟加载,但没有太大改进。

\n

您还有其他建议吗?

\n

还附上谷歌光速测试结果。

\n

光速\n光速2

\n

jch*_*ook 1

一些可能有帮助的事情:

\n
    \n
  • 将 Expo 升级到最新版本。有时,较新的版本会改进捆绑包大小。我正在使用 Expo v44 + RN 0.64.3,我的捆绑包只有 1MB。

    \n
  • \n
  • 您可以使用服务器端渲染 (SSR)来改善初始页面加载体验。例如,尝试与Next.js集成。

    \n
  • \n
  • 启用代码分割和延迟加载以及其他专门针对 Web 的 Webpack 优化。请参阅\xef\xb8\x8f 如何使用 Expo web 进行代码分割

    \n
  • \n
\n