npm 包 weg-bigpipe 使用教程

前言

随着前端页面的复杂化,我们需要更快速、高效的方式来渲染页面。传统的的同步渲染方式已经无法满足需求,所以需要采用新的技术来进行页面渲染。在这个背景下,BigPipe 诞生了。BigPipe 技术基于 Facebook 开源的 BigPipe 技术,用于解决服务端渲染的性能问题。weg-bigpipe 就是基于该技术开发的 npm 包。本文就是要介绍如何使用 npm 包 weg-bigpipe 来优化前端页面渲染,提高页面性能。

安装

--- ------- ------ -----------

使用方式

weg-bigpipe 最重要的一个特性就是让我们拆分一个页面成为多个 Pagelets(页面片段),这些 Pagelets 可以独立渲染、并发加载,大大提高了页面渲染的效率。

创建 server

要使用 weg-bigpipe 开始优化页面渲染,首先我们需要创建一个 Express 服务器并引入 weg-bigpipe:

----- ------- - -------------------
----- --------- - -----------------------

----- --- - ----------
---------------------

注意:使用之前需要安装 Express 和 weg-bigpipe。

创建 Pagelet

----- ------- - -------------------------------

----- -------------- - --- ---------
  --- -----------------
  ---- ---------------------
  --- -------------------
---

---------------------- - -- --- -- -- -
  ---------------------- - ----- ----------
  --------------- - -----------------
  ---------------- - ----- ---------
  ---------------- - -------- -----------------
  --------------------
--

Pagelet 的属性分别是:

  • id:Pagelet 的唯一标识 ID,同一页面不能重复,发生重复会引起覆盖,数据丢失。
  • css:Pagelet 需要的 CSS 样式文件,支持数组(多个文件)和单个文件。
  • js:Pagelet 需要的 JS 文件,支持数组(多个文件)和单个文件。
  • handler:Pagelet 的渲染方法,返回值可以是数据对象,也可以是渲染后的 HTML 字符串。

在示例代码中,handler 方法返回一个数据对象,其中 res.render('index') 会渲染模板并返回 HTML 字符串。

渲染 Pagelet

------------ ----- ---- -- -
  -------------------- ---------------------------------

  -----------------------------------
  -------------------------
  ----------------------------

  ----------
---

当我们访问根路径时,initialPagelet.toHTML() 方法会将 Pagelet 渲染成 HTML 字符串返回,并输出到浏览器中。使用这种方法可以在一个 request-response 循环中构建一个多 Pagelet 的页面。

原理

在服务器端,使用 BigPipe 可以对页面进行分块,划分成多个 Pagelets,每个 Pagelet 都是一个独立的组件,可以独立渲染、并发加载。比如,在产品列表页面中,我们可以通过使用 BigPipe 将商品卡片的渲染单独划分为一个 Pagelet,在发起页面请求时,页面会先渲染出固定的结构和 CSS,然后通过 JSON 数据返回 Pagelet 并插入到页面中。这种策略可以有效地避免过度渲染造成页面响应过慢的问题。

总结

通过上述的介绍,我们了解了如何使用 npm 包 weg-bigipe 来优化前端页面渲染,提高页面性能。weg-bigpipe 帮助我们将一个页面分成多个 Pagelets,让 Pagelets 可以独立渲染、并发加载,提高了页面的响应速度。使用 BigPipe 技术能够很好地解决服务端渲染的性能问题,以此为基础,可以进行更加高效的前端页面开发。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600671078dd3466f61ffde58


猜你喜欢

  • npm 包 wikidown 使用教程

    简介 wikidown 是一个专门用于将 Markdown 转换为 HTML 的 npm 包。它可以帮助我们快速地创建漂亮的网页和文档,而不需要手动编写 HTML。

    4 年前
  • npm 包 wikifact 使用教程

    简介 Wikifact 是一个基于 Wikipedia 数据的 npm 包,它提供了一种简单的方式来获取 Wikipedia 上的各种信息。Wikifact 具有高度的可自定义性,可以根据需要选择所需...

    4 年前
  • npm 包 whenjs 使用教程

    简介 when.js 是一个强大的异步编程库,它提供了大量的方法和工具来管理异步流程、Promise 和回调函数。作为前端开发者,我们需要掌握 when.js 的使用,以提高我们的开发效率和代码可读性...

    4 年前
  • npm 包 wikifakt 使用教程

    wikifakt 是一个轻量级的 npm 包,旨在帮助开发者简化获取 Wikipedia 中某些特定词条信息的过程。wikifakt 通过谷歌的 Knowledge Graph API,获取与给定词条...

    4 年前
  • npm 包 wikidot 使用教程

    在前端开发中,我们经常需要引用一些第三方库或工具来提高我们开发的效率。而 npm 则是最流行的包管理工具,提供了丰富的第三方库和工具供我们使用。 wikidot 是一个 npm 包,它可以用于创建和管...

    4 年前
  • npm 包 wikifetch 使用教程

    在前端开发中,我们通常会遇到需要获取网络上关于某一主题的信息,而我们又需要保证这些信息的准确性和可靠性。而 npm 包 wikifetch 就是一款方便快捷、可靠的获取维基百科信息的插件。

    4 年前
  • npm 包 wikifetch-modern 使用教程

    前言 在前端开发过程中,我们常常需要获取其他网站的数据,比如获取维基百科的内容。在这篇文章中,我们将介绍一款 npm 包,即 wikifetch-modern 的使用教程,这款包可以帮助我们方便地获取...

    4 年前
  • npm 包 whenlive 使用教程

    简介 whenlive 是一个方便的 JavaScript 库,它可以帮助前端开发者编写响应式的 Web 应用程序。它可以监控 JavaScript 对象属性的变化,并在对象属性发生变化时自动更新 D...

    4 年前
  • npm 包 whenscrolled 使用教程

    如果你需要在前端项目中实现滚动加载,那么 npm 包 whenscrolled 是一个非常好用的工具。本文将为你详细介绍 whenscrolled 的使用方法,并提供示例代码和深度解析,帮助你更好地掌...

    4 年前
  • npm 包 whenthen 使用教程

    什么是 whenthen whenthen 是一个基于 JavaScript 的条件语句库,可以使代码更加简洁、可读性更好。通过 whenthen,我们可以编写出逻辑更加清晰的代码,并避免嵌套的 if...

    4 年前
  • npm 包 where-clause-evaluate 使用教程

    前端开发中常常需要使用过滤器和查询条件来过滤和查询数据。而使用 where-clause-evaluate 这个 npm 包能够帮助我们方便地实现这一操作。本文将详细介绍 where-clause-e...

    4 年前
  • npm包 where-filter使用教程

    简述 在前端开发中,经常需要对数据进行筛选和处理。where-filter是一个可以用来筛选数组和对象的npm包,支持多种匹配方式和链式调用,可以方便地对数据进行筛选和处理。

    4 年前
  • npm 包 where-is 使用教程

    在前端开发过程中,经常需要找到某个模块或文件的路径,特别是在使用相对路径时,有时会出现路径错误的问题。npm 包 where-is 可以快速地帮助我们找到某个模块或文件的路径,本篇文章将对其使用方法进...

    4 年前
  • npm包`windows.data.json` 使用教程

    什么是npm包? npm是一个Node.js中非常流行的包管理器,可以允许开发者在他们的项目中使用别人创建的代码包。开发者可以通过npm站点找到和使用超过60万个npm包。

    4 年前
  • npm 包 `windows.data.pdf` 使用教程

    windows.data.pdf 是一个可以在 Windows 系统上生成 PDF 文件的 npm 包。它可以用于前端开发中,方便用户将网站上的内容转换成 PDF 文件并下载。

    4 年前
  • npm 包 windows.data.text 使用教程

    在前端开发中,我们经常需要处理数据的文本格式,然而每次手动编写相同的代码显得非常繁琐。为了解决这个问题,一些前端工程师们开发了一些 npm 包来帮助我们处理这些常见的操作。

    4 年前
  • npm包 windows.data.xml.dom 使用教程

    前言 在前端开发中,我们常常需要使用XML数据格式,在浏览器中解析和处理XML数据需要依赖于浏览器提供的API。在Windows 10系统中,浏览器提供了一个内置的xml解析API——windows....

    4 年前
  • npm 包 windows.devices.background 使用教程

    在前端开发中,为了实现某些功能,我们通常需要引入一些应用程序接口(API)来辅助我们完成。其中,windows.devices.background 是一个可用于 Windows IoT Core 平...

    4 年前
  • npm 包 windows.devices.geolocation 使用教程

    随着智能设备的普及,定位服务也成为了前端开发中经常使用的功能。而在 Windows 平台上,我们可以通过 windows.devices.geolocation 这个 API 来获取用户设备的地理位置...

    4 年前
  • npm 包 windows.applicationmodel.core 使用教程

    在前端开发中,我们常常需要使用到一些操作系统相关的方法和功能。而在 Windows 环境下,可以通过 windows.applicationmodel.core 包来实现对操作系统的接口调用。

    4 年前

相关推荐

    暂无文章