npm 包 lokka 使用教程

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

介绍

lokka 是一个轻量级的 GraphQL 客户端,可以用于前端或 Node.js 应用程序。它提供了一种简单但强大的方式来与 GraphQL 服务器进行交互。本文将介绍如何使用 lokka 客户端包在前端中进行 GraphQL 查询和突变。

安装

使用 npm 安装 lokka

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

由于 lokka 仅是一个客户端,您还需要安装运行 GraphQL 服务器的库和插件以供查询和突变使用。本文将使用 graphcool 作为 GraphQL 服务器。

可以使用以下命令安装 graphcool-cli

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

创建 GraphQL Schema

在本教程中,我们将使用 graphcool 创建我们的 GraphQL Schema。首先,通过运行以下命令,创建一个新的 graphcool 项目:

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

接下来,通过运行以下命令创建一个简单的 GraphQL Schema:

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

复制下面的代码并粘贴到创建的 schema.graphql 文件中:

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

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

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

这个 Schema 定义了 Post 类型,该类型具有 idtitlecontentcreatedAtupdatedAt 字段。它还定义了 QueryMutation 类型。Query 类型包含一个名为 allPosts 的查询,它将返回所有的 Post 类型。Mutation 类型中定义了 createPost 突变,用于创建新的 Post 对象。

接下来,通过以下命令部署您的 Schema 到 graphcool 服务器:

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

使用 Lokka 客户端

创建一个客户端

要使用 lokka 客户端,您需要先创建一个客户端实例。首先,导入 Lokka

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

接下来,初始化客户端:

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

请注意,客户端需要知道您的 GraphQL 服务器的 URL。此 URL 取决于您的 graphcool 项目的名称。将上述 URL 中的 <PROJECT-ID> 替换为您自己项目的 ID。

查询

一旦创建了客户端实例,就可以通过查询来获取数据。以下是使用 lokka 客户端执行带有变量的查询的示例:

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

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

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

这是一个简单的查询,检索了所有 Post 对象的 idtitlecontent 字段。您可以在 query 变量中定义其他查询。

突变

要使用 lokka 客户端进行突变,必须为突变创建一个客户端实例。以下是使用 lokka 客户端执行突变的示例:

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

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

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

订阅

lokka 客户端也可以用于订阅 GraphQL 数据。以下是实现订阅的简单示例:

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

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

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

这里我们定义了一个订阅,该订阅将会在 Post 对象被创建时发生。我们在订阅中指定了这个过滤条件。您可以在订阅中定义其他过滤条件。

结论

在本文中,我们已经介绍了如何使用 lokka 客户端在前端中进行 GraphQL 查询和突变。我们还介绍了如何使用 graphcool 作为我们的 GraphQL 服务器。希望这篇文章对您有用,您已经可以开始构建您自己的前端应用程序了!

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


猜你喜欢

  • npm 包 @favware/eslint-config 使用教程

    在前端开发的过程中,使用代码审核工具可以大大提高代码的质量。其中,ESLint 是一个非常流行的代码审核工具,我们可以通过配置自定义规则来保证代码的质量。本文介绍了 @favware/eslint-c...

    4 年前
  • npm 包 @favware/ts-config 使用教程

    npm 包 @favware/ts-config 使用教程 前言:在前端开发中,TypeScript 已经成为了一个非常热门的技术。但是,TypeScript 的配置可能会让一些开发者感到困惑。

    4 年前
  • npm 包 nintendo-switch-eshop 使用教程

    在前端开发中,我们经常需要使用 npm 包来构建和扩展我们的项目。在游戏开发中,Nintendo Switch 是一款非常受欢迎的游戏机。如果我们想要在我们的项目中使用 Nintendo Switch...

    4 年前
  • npm 包 newline-remove 使用教程

    同学们好!在前端开发中,我们经常需要处理文本数据,而文本中的换行符却是一个很棘手的问题。我们可能需要将一个文本中的换行符全部去掉,以便更好地对文本进行处理。在这种情况下,我们可以使用一个非常方便的 n...

    4 年前
  • npm 包 slot-machine 使用教程

    在前端开发中,我们经常会使用一些插件或者库,来方便我们完成某些特定的功能,比如数据可视化、表单验证等等。而 npm 作为 Node.js 包管理工具,是前端开发不可或缺的一部分。

    4 年前
  • npm 包 node-yaml-config 使用教程

    简介 node-yaml-config 是一个基于 yaml 文件配置的 Node.js 版本配置模块。它能够帮助你轻松的将任意配置文件中的数据加载到你的 Node.js 应用程序中。

    4 年前
  • npm 包 sha256-file 使用教程

    在 Web 开发过程中,我们经常需要验证文件的完整性以及数据的安全性。一个流行的方式就是使用 SHA256 算法对文件进行哈希值计算。 sha256-file 是一个可以通过命令行快速计算文件的 SH...

    4 年前
  • npm 包 speedtest-net 使用教程

    前言 在 Web 前端开发过程中,网络连接速度的测试是一个必不可少的环节。而 npm 中有一个轻量级的库 speedtest-net(https://github.com/ddsol/speedtes...

    4 年前
  • npm 包 unescape-es6 使用教程

    在前端开发中,我们经常需要处理字符串。而有些字符串中可能含有特殊字符,比如 HTML 实体字符(如 &amp; &gt;),这些字符需要被转义以避免出错。在 JavaScript 中,我们可以使用 u...

    4 年前
  • npm 包 @types/libsodium-wrappers 使用教程

    什么是 @types/libsodium-wrappers? @types/libsodium-wrappers 是一个 npm 包,提供了对 libsodium-wrappers 库的 TypeSc...

    4 年前
  • npm 包 @mapbox/babel-plugin-transform-jsxtreme-markdown 使用教程

    前言 在前端开发中,我们通常使用 Babel 进行代码转换和编译,更加高效地将 ES6+ 代码转换为 ES5 语法,满足在较低版本浏览器中的执行。 而 @mapbox/babel-plugin-tra...

    4 年前
  • npm 包 @mapbox/hast-util-to-jsx 使用教程

    简介 @mapbox/hast-util-to-jsx 是一个 NPM 包,是将 hast 转换为 JSX 的工具包,由 Mapbox 公司提供的前端内部工具包之一,但其功能强大,易用性强,因此得到了...

    4 年前
  • npm 包 @mapbox/jsxtreme-markdown 使用教程

    前言 @mapbox/jsxtreme-markdown 是一款提供了 JSX 元素渲染的 Markdown 渲染器,是一款非常有用的工具。在本篇文章中,我们将详细介绍如何使用这款工具,并且提供一些实...

    4 年前
  • npm 包 @mapbox/jsxtreme-markdown-loader 使用教程

    1. 简介 @mapbox/jsxtreme-markdown-loader 是一个基于 Webpack 的 Markdown 加载器,支持在 Markdown 中直接使用 JSX 和组件,使得 Ma...

    4 年前
  • npm 包 @mapbox/link-hijacker 使用教程

    前言 在前端开发中,常常需要对页面中的链接进行拦截,以便在用户点击链接时进行一些额外的处理,比如进行跳转前的数据验证等。而最近在项目中使用了 @mapbox/link-hijacker 这个 npm ...

    4 年前
  • npm 包 @mapbox/link-to-location 使用教程

    前言 在前端开发中,常常需要跳转到另外一个页面或者其他站点。如果使用原生的 a 标签或者 window.location 来进行跳转,需要手动编写跳转逻辑并且存在安全问题,因此我们通常会使用第三方库来...

    4 年前
  • npm 包 @mapbox/postcss-html-filter 使用教程

    前言 在前端开发中,常常需要对 HTML 文件中的 CSS 样式进行处理。然而,如果样式表过于庞大,或者需要针对不同场景进行样式的过滤和优化,手动处理无疑是非常繁琐和低效的。

    4 年前
  • npm包 @mapbox/query-selector-contains-node 使用教程

    在开发前端应用过程中,我们经常需要通过 DOM 操作来实现各种功能。而就在最基础的 DOM 操作中,选择器的使用已经是非常普遍的了。 然而,一些情况下,标准的 DOM 选择器难以满足我们的需求。

    4 年前
  • npm 包 @mapbox/scroll-restorer 使用教程

    前端开发中,经常会遇到需要记录页面滚动位置的需求。而 @mapbox/scroll-restorer 就是为此而生的一个 npm 包。本篇文章将向大家介绍如何使用该包。

    4 年前
  • npm 包 fasterror 使用教程

    简介 fasterror 是一个基于 Node.js 平台的简单易用的错误处理工具,它提供了一种轻量级的机制来定义和创建错误对象,可以让我们轻松地创建一致性的错误类型,并提供了友好的错误处理方式。

    4 年前

相关推荐

    暂无文章