npm 包 yar 使用教程

简介

yar 是一个基于 Hapi 的易于使用的 Session 管理器,提供了通用的 API,如 GET、HEAD、POST、PUT、PATCH、DELETE。它的设计利用了服务器的相对静态的初始内存消耗和高速缓存,以确保大量的客户端连接不会损害服务器的性能。此外,yar 还支持多种储存后端,如内存、Redis 等。

安装

使用 npm 安装 yar:

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

示例

下面是一个简单的示例,展示了如何使用 yar 来管理 Session。首先,我们需要在我们的 Hapi 服务器中注册 yar:

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

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

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

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

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

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

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

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

-------

在上面的示例中,我们在 Hapi 服务器上注册了 yar 插件,并在根路径中设置了一个 Hello World 的 Session 变量。

API

这里是 yar 的几个主要 API:

request.yar.set(name, value)

将值存到 Session 中。Session 对象用请求头 cookie 维护。任何支持序列化的值,例如字符串和数字,都可以存放到 Session 中。

当存储一个对象时,它将被字符串化为 JSON。如果 JSON 序列化失败,则将其记录到服务器控制台。

request.yar.get(name, [clear])

获取存储在 Session 中的值。如果不存在,则返回 undefined。

注意,当获取到 Session 的值时,将自动标识为已读取并不改变该值。如果您不希望该值在后续请求中重新使用,则可以传递一个 'clear' 参数。

request.yar.clear(name)

从回话中删除一个给定的值。

request.yar.reset()

从当前请求 Session 中清除所有值。

request.yar.touch()

“Touch” 整个 Session,更新其 cookie 到 cookieOptions.ttl。如果 ttl 为 0,则 Session 将在 窗口关闭 时终止。要异步执行 touch 以确保 cookieOptions.ttl 和 any defer 的修改已经奏效,可以传递一个可选的回调函数。

yar.cached(request)

返回领先的减慢和过时 Session 的 session 缓存实例,要使用该实例,请使用 request.yar.store.client.get() 代替 request.yar.get() 等。

request.yar.renew()

创建一个新 Session ID,并将旧 Session 中的数据保留在新 Session 中。

request.yar.flash(type, message, isOverride)

添加一个闪现通知。用于与下一次 Session 引用配合使用。 type - 将显示的消息类别。 message - 显示的消息。 isOverride - 覆盖任何先前的值。

结论

在本文中,我们介绍了 yar 的基本知识,以及它如何在 Hapi 服务器上使用。我们还提供了一些常见的 API,您可以快速开始使用 yar 更好地管理您的 Session。如果您想要掌握更多技能,请查看官方文档并使用 yar 进行实践。

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


猜你喜欢

  • npm 包 @vutr/redux-zero 使用教程

    介绍 @vutr/redux-zero 是一个开源的零依赖状态管理库,它可以帮助你更好地管理应用中的状态。 它提供了一个简单的 API,可以使状态管理更加容易,并且不需要使用 Redux 的特定语法。

    4 年前
  • npm 包 yivue-example 使用教程

    引言 如果你是一名前端开发工程师,那么你肯定知道 npm,它是一个很优秀的包管理器,帮助我们管理和使用大量的第三方库。对于 Vue 开发来说,我们这里要介绍的就是一个非常有用的 npm 包:yivue...

    4 年前
  • npm 包 & vscc-demo 使用教程

    在前端开发中,我们经常需要处理各种不同的数据格式和结构,这时候我们可以使用 vscc-demo 这个 npm 包来操作和处理这些数据。本文将详细介绍 npm 包 vscc-demo 的使用方法和示例。

    4 年前
  • npm 包 uxcore-test1 使用教程

    前言 随着前端技术的不断发展,维护、测试和开发变得越来越困难,如何快速提高开发效率?如何保证软件质量?这些问题成为了我们必须面对的挑战。 npm(Node Package Manager) 作为世界上...

    4 年前
  • npm包YiVue使用教程

    什么是YiVue YiVue是一个基于Vue.js的组件库,它包含了一些非常有用的组件和工具,可以帮助你快速构建现代化的Web应用程序。YiVue的组件和工具非常易于使用和定制,使得前端应用程序开发变...

    4 年前
  • npm 包 react-native-store-rating 使用教程

    在开发 React Native 应用时,我们经常需要集成第三方模块,例如各种 UI 组件和工具库。其中一个非常重要的模块是应用内评分模块,可以帮助我们提高用户参与度和应用用户留存率。

    4 年前
  • npm 包 sina-weibo 使用教程

    在前端开发中,我们经常需要使用社交媒体平台的 API 来获取数据或者与用户进行交互。其中,新浪微博的 API 较为常用。为了方便开发者使用,已经有人封装了一个 sina-weibo 的 npm 包。

    4 年前
  • npm 包 react-table-generator 使用教程

    前端开发中,表格是常见的组件之一。在处理表格数据的过程中,我们通常会使用到一些类似于 react-table-generator 这样的 npm 包来提升开发效率。

    4 年前
  • npm 包 h-naya-mobile 使用教程

    简介 h-naya-mobile 是一个轻量、易用的移动端组件库,包含了丰富的移动端组件,例如 button、dialog、toast 等。在使用 h-naya-mobile 之前,你需要先安装 No...

    4 年前
  • npm 包 h-naya-wechat-app 使用教程

    在开发微信小程序时,我们常常会需要调用各种微信开放接口来实现丰富的功能。而 h-naya-wechat-app 就是一个可以帮助我们快速完成小程序开发的 npm 包,它提供了许多常用的微信开放接口的封...

    4 年前
  • npm 包 h-naya-request 使用教程

    前言 在现代 Web 开发中,前端技术已经成为了一个不可或缺的部分。而 npm 则是前端开发的重要工具之一。其中,h-naya-request 是一个常用的 npm 包,用于前端中发送各种 HTTP ...

    4 年前
  • npm 包 h-naya-web 使用教程

    简介 h-naya-web 是一个基于 Vue.js 的前端 UI 组件库,拥有众多常用的 UI 组件,如按钮、表单、布局等,并支持主题定制。 安装 在项目目录下执行以下命令: --- -------...

    4 年前
  • npm 包 h-naya-redux 使用教程

    在前端开发中,状态管理在大型项目中是非常重要的。Redux 是一个非常流行的状态管理库,它允许我们将应用程序的状态存储在单一的地方,从而方便跟踪和管理状态。如果您正在寻找一种简单但强大的方法来管理应用...

    4 年前
  • npm 包 use-state-epic 使用教程

    背景 在前端开发中,状态管理是一个非常重要的概念,而 React 是一个非常流行的前端框架之一,它提供了 useState Hook 用于管理组件的状态。但当应用的状态比较复杂时,仅使用 useSta...

    4 年前
  • npm包react-phone-number-input-mui的使用教程

    在现代网页应用程序中,电话号码输入是非常常见的。然而,在处理电话号码输入时,我们会遇到各种各样的问题。比如,通常人们习惯输入电话号码的方式不统一,导致客户端难以处理输入的电话号码。

    4 年前
  • npm 包 h-naya-wechat-web 使用教程

    h-naya-wechat-web 是一款非常有价值的 npm 包,它为前端开发者提供了一种高效的调用微信网页授权接口的方法。在本篇文章中,我们将为大家提供一份详尽的 h-naya-wechat-we...

    4 年前
  • npm 包 grapesjs_codeapps 使用教程

    背景介绍 前端开发工作中,我们经常需要寻找各种开源工具和库来提高生产效率。在这些工具和库中,npm 包几乎是必不可少的一部分。npm 包提供了丰富多样的工具和库,可以满足我们各种需求。

    4 年前
  • npm 包 shb-vue-upload 使用教程

    前言 在进行前端开发时,文件上传是一个非常常见的需求。而 shb-vue-upload 这个 npm 包可以很好地帮助我们完成文件上传的过程。下面将详细介绍如何使用该 npm 包。

    4 年前
  • npm包uxcore-test2的使用教程

    介绍 npm包uxcore-test2是一个基于React框架的UI组件库,主要用于前端Web应用的开发和构建。 此教程将会介绍如何使用npm包uxcore-test2来构建前端Web应用,包括如何安...

    4 年前
  • npm 包 mifan-ui-kit 使用教程

    在前端开发中,UI 组件库是不可或缺的,能够提高开发效率和用户体验。mifan-ui-kit 是一个基于 Vue.js 的 UI 组件库,其提供了丰富的组件和风格,支持自定义主题,非常适合构建中后台管...

    4 年前

相关推荐

    暂无文章