npm包apollo-cant-cache-me使用教程

介绍

apollo-cant-cache-me是一个npm包,它为Apollo Client提供了可以从缓存中排除部分查询的能力。这对于那些需要确保某些查询永远不会从缓存中读取结果的情况非常有用,例如涉及用户身份验证的查询。

安装

使用npm安装apollo-cant-cache-me

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

使用

  1. 在Apollo Client的配置对象中添加cacheRedirects选项。cacheRedirects应该是一个函数,该函数应返回一个对象,其中每个键是查询名称,每个值都是一个布尔值。如果值为true,则该查询将从缓存中排除。

    ------ - ------------ - ---- -----------------
    ------ - -------------- - ---- -----------------------
    
    ----- ------ - --- --------------
      -- ---
      --------------- ---------------- -- -----
    --
  2. 在GraphQL查询中使用@doNotCache指令来标记不想在缓存中保存的字段或子查询。请注意,这个指令需要在GraphQL输入文档中正确定义。

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

示例代码

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

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

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

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

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

总结

apollo-cant-cache-me是一个非常实用的npm包,它提供了一种简单的方法来控制哪些查询不应该从缓存中读取结果。通过使用@doNotCache指令,开发人员可以在GraphQL文档中精确地标记需要永远避免缓存的字段或子查询。这对于那些需要涉及用户身份验证的查询非常有用,可以保护敏感信息不被意外地从浏览器缓存中泄露。

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


猜你喜欢

  • npm 包 heroku-escher-keypool-editor 使用教程

    前言 随着 Web 应用程序逐渐复杂,为了更有效地保护应用程序,许多团队都在考虑把安全性放在更加重要的位置。Escher 是一个通用的 HTTP 请求签名、验证库。

    3 年前
  • npm 包 tobo-cordova-plugin-firebase 使用教程

    Firebase 是一个 Google 开发的移动和 Web 应用程序开发平台,他可以提供很多实用功能,例如数据库,认证,存储等等。而 tobo-cordova-plugin-firebase 正是为...

    3 年前
  • npm 包 tobo-cordova-plugin-inappbrowser 使用教程

    什么是 tob0-cordova-plugin-inappbrowser tob0-cordova-plugin-inappbrowser 是一个 Cordova 插件,它可以让你在你的 Cordov...

    3 年前
  • npm 包 linear-search-index 使用教程

    介绍 npm 是一个常用的包管理工具,可以方便地下载、安装和使用各种 JavaScript 库和组件。而 linear-search-index 则是一个用于在有序数组中查找某个元素位置的 npm 包...

    3 年前
  • npm 包 sevdesk-voucher-upload-cli 使用教程

    简介 sevdesk-voucher-upload-cli 是一个基于 Node.js 的命令行工具,用于上传文件和凭证信息到 sevDesk 财务软件。它是一个方便实用的工具,可以简化业务流程,提高...

    3 年前
  • npm 包 request-tick 使用教程

    前言 在前端开发中,常常需要发送 Ajax 请求和展示请求结果。而 request-tick 是一个轻量级的请求库,它可以让我们方便地进行请求和展示。 在本文中,我们将深入介绍如何使用 request...

    3 年前
  • npm 包 @theme-tools/plugin-icon-font 使用教程

    在前端开发中,图标字体是非常重要的资源,但是手动维护一套图标库是一项繁琐的工作,因此我们需要一个工具来简化我们的工作流程。这时,就可以使用 @theme-tools/plugin-icon-font ...

    3 年前
  • npm 包 knobz 使用教程

    在前端开发中,有些情况需要在页面上创建可拖动的旋钮控件,来实现某些功能。knobz 是一个基于 jQuery 的旋钮控件库,提供了一系列可自定义的选项,以便于开发者创建符合需求的控件。

    3 年前
  • npm 包 get-gitlab-merge-requests 使用教程

    前言 近年来,随着前端技术的不断发展,研发团队越来越注重代码的效率和质量。在团队协同工作中,有时会遇到多个团队成员对同一代码进行开发和修改的情况。Gitlab 作为常见的代码版本管理平台之一,有一个强...

    3 年前
  • npm 包 react-cli-ch 使用教程

    随着前端框架的发展和应用场景的不断扩大,我们已经步入了前端组件化的时代。而前端组件化的核心在于能够方便地创建和管理组件。这就需要用到一些工具来构建应用程序和组件库。

    3 年前
  • npm 包 model-errors 使用教程

    在前端开发中,对于后端返回的数据,前端需要进行一系列的验证和处理,以保证数据的准确性和安全性。而这种验证和处理工作通常需要大量的代码。为了简化这个过程,我们可以使用 npm 包 model-error...

    3 年前
  • npm 包 search-string-for-google-drive 使用教程

    前言 在前端开发中,我们经常使用谷歌云盘进行资料的存储和分享,但是在使用谷歌云盘进行搜索时,我们往往需要手动输入搜索条件,这样不仅费时费力,还容易出现拼写错误。因此,我们需要一个能够让搜索更加快捷、准...

    3 年前
  • npm 包 ticker-duration-changer 使用教程

    ticker-duration-changer 是一个前端开发中常用的 npm 包,它可以帮助我们更好地控制页面上的定时器及动画效果,提升用户体验。本文将深入介绍该 npm 包的使用教程,并提供示例代...

    3 年前
  • npm 包 xlsx-style-fix 使用教程

    在前端开发中,数据处理是非常常见的任务。而 Excel 表格的使用率也非常高,因此很多时候我们需要在前端中对 Excel 表格进行操作。这时候就需要用到 xlsx-style-fix 这个 npm 包...

    3 年前
  • npm 包 @loll/router 使用教程

    介绍 在前端开发中,路由是不可或缺的一部分,因为它可以帮助我们管理应用程序的各个页面。npm 上有许多优秀的路由库,而 @loll/router 就是其中的一款。 @loll/router 是一个高度...

    3 年前
  • npm 包 better-scroller 使用教程

    引言 现如今,移动设备已经成为了人们生活中最常用的设备之一。无论是浏览新闻、看直播、购物,还是游戏娱乐,都需要我们通过手机进行操作。而手机屏幕相对比较小,又需要通过不同手势进行操作,因此一个流畅的滚动...

    3 年前
  • npm 包 sls-gm 使用教程

    在前端开发中,我们常会使用许多 npm 包来实现各种功能。本篇文章将介绍一个非常实用的 npm 包 sls-gm,它可以让我们在 Serverless 应用中轻松地处理图像,同时还可以进行图片的裁剪、...

    3 年前
  • npm 包 vusion-async-validator 使用教程

    前言 在前端开发中,数据校验是非常重要的一项工作,它能够帮助我们保证数据的正确性,避免用户输入错误数据带来的问题。而 vusion-async-validator 就是一个非常方便的 npm 包,可以...

    3 年前
  • npm 包 @theme-tools/plugin-browser-sync 使用教程

    前言 在前端开发中,我们经常需要在本地调试网页、监听文件变化等工作,这时候使用 BrowserSync 会变得非常方便。@theme-tools/plugin-browser-sync 就是一个基于 ...

    3 年前
  • npm 包 @theme-tools/plugin-js-concat-babel 使用教程

    在前端开发过程中,随着项目变得越来越复杂,浏览器对 JavaScript 文件的请求次数也会越来越多,这导致页面的加载速度变慢。解决这个问题的其中一种方法是把多个 JavaScript 文件合并成一个...

    3 年前

相关推荐

    暂无文章