上周末,David Gwyer 宣布了一个用于块插件的自定义服务器端渲染组件。 WPGO 插件的联合创始人主要构建了他们的组件,以加快他们自己插件中动态块的渲染过程。不过,他现在已经为 WordPress 社区的其他区块开发者发布了这个组件。
大多数块都是静态的。它们的输出保持不变,无需更改。但是,有些块是动态的。由于多种原因,它们的输出需要更改,例如它们的输出上下文或 WordPress 中的其他更改。例如,核心“最新帖子”块是动态的,因为它显示的帖子会随着新帖子的编写而变化。如果您将它们输出为静态块,则最终用户每次撰写新帖子时都需要更新该块。因此,当动态块由服务器在编辑器和前端中呈现时,它们会派上用场。
从服务器呈现的问题是它可能很慢,尤其是当用户对特定块进行多次连续选项更改时。每次更改后,都必须重新渲染块。动态块的核心体验并不理想。
Gwyer 的新组件可通过 GitHub 获得。该项目的代码非常少,其主要 JavaScript 文件的大小刚刚超过 4kb(未压缩)。它引入了一个新的
他目前正在使用自己的组件 Flexible FAQ 插件。经过几次测试后,插件的动态块感觉响应更快,几乎与 JavaScript 呈现的静态块之间几乎没有区别。
在编辑器中更新动态块选项时实时呈现。
他还计划在内部将其用于他的 Simple Sitemap 插件和未来的任何其他插件动态块。假设 WordPress 在此期间没有改进其服务器端呈现组件。
组件的工作原理
Gwyer 的组件是核心
他阐述了核心及其组件如何与核心组件渲染一起工作,如下所示:
- 渲染块.
- 块属性已更新。
- 用微调器替换整个块内容。
- 呈现新块内容。
- 块被渲染。
- 块属性已更新。
- 用右上角的微调器用占位符内容(当前/以前的内容)替换整个块内容。
- 呈现新块内容。
ol>
他的新组件进行了重要的更改,至少是为了提高视觉速度:
Gwyer 说:“由于块内容基本上保持不变,直到它准备好呈现新内容,它看起来更快更流畅。 ”
真正的问题是这个分支是否应该进入 Project Gutenberg 并最终合并到 WordPress 中。 WordPress 开发人员 Ben Gillbanks 这么认为,并根据请求创建了一个新的 GitHub 票证。
Gwyer 说:“我希望看到它被添加到 Gutenberg,因为它为动态块提供了更好的渲染体验。”如果他们有兴趣将其纳入核心,我很乐意与团队取得联系。 "
喜欢这样:
喜欢正在加载...
资源