【问题标题】:why do we still need module bundlers when we have native ESM support in browsers now当我们现在在浏览器中支持原生 ESM 时,为什么我们仍然需要模块捆绑器
【发布时间】:2021-04-24 17:19:25
【问题描述】:

当浏览器现在支持原生 ESM 时,为什么开发人员仍然需要使用像 rollup 和 webpack 这样的模块捆绑器

【问题讨论】:

标签: javascript webpack module rollup


【解决方案1】:

您不需要模块捆绑器 - 开发人员甚至在模块和 Webpack 出现之前就能够编写 JS - 但他们仍然可以让这个过程变得更容易。

  • 大型应用程序需要大量代码。在结构合理的代码库中,这将意味着许多文件和模块。如果客户端的浏览器必须发出大量请求以从服务器下载每个单独的模块,这可能需要一些时间,并且可能会使应用程序看起来需要很长时间才能启动。如果服务器使用 HTTP/1.1,则并发正在进行的请求的数量是有限制的。 (HTTP/2 没有这个限制,但是很多服务器还没有实现)
  • 拥有一个转换输入源代码的过程可以实现整洁的转换和预处理器,而这些转换和预处理器不能(容易)在客户端单独完成。例如,作为捆绑过程的一部分,您可以选择:
    • 缩小生产代码(以节省带宽)
    • 使用 Babel 将代码转换为您希望支持的任何 EcmaScript 版本,而无需简化源代码或手动执行。
    • 将 React 的 JSX 语法转换为纯 JavaScript
    • 编写(简洁、简洁)的 SASS,将其转换为纯 CSS

【讨论】:

  • 你的回答真的很有帮助
猜你喜欢
  • 2021-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-27
  • 1970-01-01
  • 2023-01-24
  • 1970-01-01
相关资源
最近更新 更多