首页 > 解决方案 > 为什么以及在哪里需要 bundle.js?

问题描述

Node.js/Angular/React 应用程序对 bundle.js 的需求是什么?如果在构建和部署应用程序时不使用它怎么办?

标签: javascriptangularjsnode.jsreactjs

解决方案


捆绑从何而来?

由于性能原因,我们开始捆绑我们的资产。

  • HTTP1 支持单个连接上的有限请求。为每个资产创建连接正在扼杀性能。
  • 我们开始逐页捆绑事物,以通过更有效的缓存来提高性能。
  • 我们能够将指纹添加到其中并将其上传到 CDN。(主页.231434.js)。所以我们能够通过 dockerizing 来部署我们的应用程序。
  • 捆绑还帮助我们进一步减少页面大小,因为捆绑器了解整个系统。这意味着它可以删除未使用的内容并更轻松地缩小内容。如果没有捆绑器,您将无法轻松做到这一点。
  • 此外,捆绑器正在使用转译器。浏览器并不总是能够运行我们编写的代码,例如 Typescript、CoffeeScript。捆绑器可以轻松地将这些代码转换成捆绑包。

我们还需要它吗?

如今,事情发生了很大变化,就像我们捆绑资产一样。

  • 首先,现在几乎所有浏览器都支持 HTTP/2。所以我们可以在同一个连接上请求多个文件。因此不再需要捆绑。此外,我们还有 http/2 服务器推送。
  • 像 React、Angular、Vue 这样的库在规模上要有效得多。它们可以很容易地从 gzip 支持源下载到页面。

这些是我们不再需要捆绑的原因。

但根据您的项目,我们可能仍需要捆绑。这是真正的真相。

我仍然会选择捆绑。


在我的公司,我们使用容器编排系统来控制我们的 dockerized 应用程序。我们可能同时运行多个版本。在打包上传到 CDN 的同时为文件创建指纹对我们来说仍然更有效。而且我们也在尝试使用prefetchingpreloading。CDN 帮助我们减少其他国家访问者的加载时间。此外,我们还从服务人员那里获得支持,以便在我们需要时逐页更改资产。

所以实际上现在它只是基于你的项目。没有太多的性能原因了。


推荐阅读