这是最初的代码分割方法,Google 贡献了一个非常好的优化,称为 Module 和 No Module,它将为现代浏览器提供差异化 JS,为其他浏览器提供大量多字段的遗留 JS,并且这种优化 100% 自动化,并产生大量节省。我们把它交给了我们在 Vercel 上托管的一位名为 Parnaby's 的客户,我相信如果我没记错的话,这是非常非常重要的事情。代码大小可能节省了 30%,这只是因为他们将 Next.js 升级到了更好地优化 JS 包的版本。
吉列尔莫:这就是我们之前讨论过的一点,即您选随 斯里兰卡电话号码表 着时间的推移,它只会变得更好、更优化,它将继续代表您进行优化。老实说,这些都是您永远不必处理或打扰的预先配置,也是您甚至不想做的研究。就像我显然并没有参与其中,但我查看了一些内部讨论,他们正在讨论所有这些仅对 Internet Explorer X 和 Soho 重要的多域,我当时想,“我什至不想知道,让我们升级 Next.js 并获得所有这些好处。”
德鲁:有时坚持默认值和最常见的配置会有很大的好处,这似乎确实是 法。我记得当我在 2000 年代初开始编写 PHP 时,每个人都在使用 PHP 和 MySQL,而当时我刚刚来自 Windows,所以我想使用 PHP 和 Microsoft Sequel Server。你可以做到,但一路上你都是在逆潮流而动。然后,当我刚切换到 MySQL 时,整个生态系统就开始为我工作,我不需要考虑它。
吉列尔莫:是的,一切都很顺利,这是一个很棒的观察。我们一直看到,Babel 生态系统现在非常强大,例如,您可以通过将 Babel 换成其他东西来变得更快一点,但随后您会牺牲这种令人难以置信的生态系统兼容性。这是您之前提到的性能问题,对于很多人来说,构建性能和静态生成性能是一个很大的瓶颈,这是我们非常努力地逐步提高工具性能的问题。
吉列尔莫:例如现在正在做的一件事是将其默认设置从 Webpack 4 升级到 Webpack 5,其中有一些破坏性的东西,这就是为什么我们首先将其作为选择加入标志提供给人们,但稍后它将成为默认值。Webpack 5 带来了令人难以置信的性能改进,但我们并没有牺牲 Webpack 生态系统,而是逐步改进。当然,有一些非常小的事情需要牺牲,但这是当今 JS 生态系统的一个令人难以置信的好处,我想很多人都在掩盖这一点,因为也许他们看到,“哦,我们本来可以做 X在 Soho,也许会快一点,或者在 Soho 进行 MPM 可能会花费更少的时间。” 他们只关注一些细节,却忽略了更大的图景,即生态系统价值是巨大的。

德鲁:由这样的项目来完成所有配置和维护以及这方面的工作,而不是通过切换到使用其他东西来完成这些工作,其价值是令人难以置信的,因为一旦您摆脱了这些默认设置,您我们正在承担保持所有兼容性的重任并自己完成。我对 Next.js 真正感兴趣的事情之一是,有一些选项可用于执行静态站点生成或服务器端渲染,或者可能是两者的混合。我认为最近的更新中对此进行了一些更改,您能否告诉我们一些相关信息以及您何时可以选择其中之一?
吉列尔莫:耶,当然了。这种混合方法与我之前描述的页面系统相结合的关键组件之一是,您可以拥有完全静态的页面或服务器呈现的页面。完全静态的页面具有我所说的静态提升的令人难以置信的好处,即您可以获取该资产并自动将其放置在边缘。