所以我认为我们做得好的一件事是我们强迫你选择做哪一件事。所以这让开发人员停下来思考,加载这段代码的最佳方式是什么?我真的需要这个代码吗?这个组件需要立即运行吗?哦不,这个东西只存在于页面下方。让我们让它可见。 德鲁:所以是的,我想每种类型之间都存在各种各样的权衡。我想如果某些东西只在浏览器空闲时加载,那么您就无法控制是否会及时发生您想要的任何类型的交互。 马修:是的。我猜你可能会为较低优先级的事情这样做。我的意思是它通常非常安全,尤其是在 Astro 网站中。空闲发生得更快。你会想到一些作为 SPA 构建的东西,其中有很多事情正在发生,它正在渲染东西并完成所有这些工作,并且可能法来获得性能。
闲置需要更长的时间
但是,是的,所有这些肯定都需要权衡。但我认为关键是我们并没有真正做任何神奇的事情。我的意思是,我们并没有想出一些疯狂的方我们只是让您思考,我正在构建的 萨尔瓦多电话号码表 产品的性能特征是什么?以及应该如何加载?我真的需要这个东西出现在浏览器中吗?或者这只是您构建网站时发生的一次? 德鲁:是的。我想很多开发人员忘记了最快的网站是没有 JavaScript 的网站。因此,如果您可以减少加载和传递的 JavaScript 数量,那么默认情况下速度会更快。因此,Astro 将所有 JavaScript 渲染为静态 HTML 和 CSS,并且您可以使用自己的框架,就像它所描述的那样,无论是 React 还是 View 还是您拥有的框架。
这是否意味要支持所有这些
或者它的构建方式实际上与它处理的 JavaScript 是什么并不重要? 马修:是的。这些框架很少,我们称之为插件。所以我们已经写了很多。如果你只是 MPM 安 BTC 数据库欧盟 装 Astro,我想你会得到 React、View、Svelte、Preact。我想就这四个人吧。我知道我们也为 Solid.JS 编写了自己的插件,这是一个较新的框架,而且 Lit、LitElement 我们也有一个插件。所以它们实际上很容易写。每个框架都有不同的方式呈现为 HTML。这些插件所做的就是你给它们一个组件,或者 Astro 给它们一个组件,然后它们将那个东西渲染为 HTML。 德鲁:我想问,是的,因为所有的框架都有自己的机制,不是为了渲染出来的吗?因此,这些插件本质上使 Astro 能够连接到这是的。