此水合步骤,当您在 Gatsby 站点中使用链接时,它将从该页面预获取资源,因此加载速度会更快。所以,这一切都可以通过 Gatsby 为您提供的 JavaScript 层来实现。除此之外,这实际上取决于您在站点中使用的内容最终会出现在 JavaScript 包中。
马西:但对于需要大量交互性的事物(例如可访问的界面)来说,这是一个好地方。对我来说,我真的很喜欢随时可以使用 JavaScript,并且让我 B2C 电子邮件列表 的标记处于最佳位置。我知道这是一个偏好问题,无论您是否希望 HTML、JavaScript 和 CSS 都整齐地耦合在一起,并且在构建 Gatsby 时还有变化的空间
马西:您不必总是使用 CSS 和 JS 之类的东西。但这实际上是为了获得动态 JavaScript 层的强大功能,在您编写网站时可以使用它。它不像这个添加在单独的文件中。
德鲁:当我想到静态站点生成器通常如何工作时,我想到的可能是 Markdown 文件中的内容。生成器运行该内容并将其与模板合并,并创建数十个、数百个、数千个 HTML 文件,这些文件是您网站的页面。当我想到 React 网站或应用程序时,我更多地考虑的是单页面体验,其中界面是由 React 动态创建的。那么,你是说盖茨比这两点都做到了?它正在创建所有页面并使用 JavaScript 对其进行增强?
马西:是的,是的。Gatsby 将在构建时使用 Node.js,它将检查您的 React 组件并将它们编译成 HTML 文件。老实说,当我第一次看到 Gatsby 时,我不会关闭 JavaScript,并且会想,“好吧,这里还有其他页面吗?这是什么?” 我很高兴盖茨比默认就是这样工作的。它将从您的反应组件创建构建文件,这非常棒。
马西:自从它在 JavaScript 中以来,我已经探索了更多渐进式增强方法。就像如果您想为用户输出逐渐增强的内容一样,如果他们确实关闭了 JavaScript,那么您不希望所有这些假设 JavaScript 存在的损坏代码。所以它有一些怪癖。但是,您至少可以解决此类问题,至少对于您希望有人仍然能够购买某些东西的核心用户流,您可能需要为这些用例添加一些支持。
马西:但我对盖茨比默认推出的方式感到惊喜。因此,这是他们以这种方式构建网站的选择,我们一直在评估它。这仍然是最好的方法吗?我们需要做什么才能满足用户的要求?因此,我们正在内部进行一些探索,只是为了确保 Gatsby 在构建网站方面尽其所能。
马西:因此,保持包大小较小,并确保为我们所说的具有预取功能的高性能代码进行权衡。比如,我们有数据来支持这一点吗?作为一名开发者倡导者,我非常感兴趣的是,确保我们在网站上打包和捆绑的内容确实是需要的,并且能够真正打造出最好的 Gatsby 网站。
德鲁:您在那里提到了性能,并且非常关注性能。从盖茨比的表现方式来看,确实如此。
刀云免责声明
1、帖子原作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任。
2、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
3、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。
签名:这个人很懒,什么也没有留下!