npm 包 vue-oriql 使用教程

前言

在 Web 应用开发中,前后端通信以及数据处理是必不可少的一部分,而 GraphQL 技术的出现,使我们的工作变得更加便捷。GitHut 上有不少的 GraphQL 相关项目,其中就有一款名为 vue-oriql 的 npm 包,它是一个针对 Vue.js 的开源 GraphQL 客户端,提供了强大的功能和丰富的更新模式,今天本文将介绍 vue-oriql 的使用方法。

安装

首先,我们需要在项目中引入 vue-oriql 包,可以通过 npm 进行安装:

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

安装完成后,需要在 main.js 文件中进行引入:

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

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

以上代码中,我们引入了 vue-oriql,然后通过 Vue.use() 方法将其注册为 Vue.js 的插件。

基本使用

1. 组件使用

在组件中,我们可以通过 标签来进行 GraphQL 查询:

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

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

在以上代码中,我们传递了 query 和 variables 两个参数给 组件。query 为 GraphQL 查询语句,variables 为变量对象。在 标签中,我们使用 JavaScript 的解构赋值语法(slot-scope="{ loading, error, data }")将 组件的 loading, error, data 属性传递给了自定义的组件。

2. API 使用

除了 组件之外,我们还可以通过 vue-oriql 提供的 API 来进行 GraphQL 查询,在 main.js 文件中,我们需要对 oriql 对象进行设置:

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

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

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

在以上代码中,我们设置了 link 属性值为我们的 GraphQL 服务器地址,然后将 Oriql 实例挂载到 Vue.prototype 上使其全局可用。

然后,我们在组件中使用 $oriql 对象进行 GraphQL 查询:

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

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

在以上代码中,我们使用 $oriql 对象的 query() 方法进行 GraphQL 查询,然后通过 await 关键字将返回值赋给了 data 变量。同时,我们也设置了 loading, error, data 三个属性,用于在页面中进行展示。

高级使用

1. Mutations 和 Subscriptions

除了查询以外,我们还可以通过 vue-oriql 进行 Mutations 和 Subscriptions 操作:

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

在以上代码中,我们通过 $oriql 对象的 mutate() 方法进行 Mutations 操作,同时还设置了变量对象 variables 用于传递参数。在 subscribeToNewPosts() 方法中,我们使用 $oriql 对象的 subscribe() 方法进行 Subscriptions 操作,然后通过 subscription 对象设置 next, error 方法来处理返回结果。

2. 预编译和编译缓存

vue-oriql 支持预编译和编译缓存两个功能,可以在开发和生产环境中提升查询速度。我们可以在 main.js 文件中设置 cache 和 options 属性:

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

在以上代码中,我们设置了 cacheSize 和 ttl 两个属性启用缓存功能,并设置了 prefix 属性用于缓存前缀。然后,在组件中,我们可以使用 compiled 和 cached 编译器选项:

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

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

在以上代码中,我们设置了 compiled 和 cached 两个属性。compiled 属性用于定义预编译的选项,cached 属性用于启用缓存功能。

小结

在本文中,我们介绍了 npm 包 vue-oriql 的安装和使用以及如何在 vue-oriql 中进行基本的 GraphQL 查询、Mutations 操作和 Subscriptions 操作,同时也介绍了 vue-oriql 的高级功能——预编译和编译缓存。希望本文能够对大家学习和使用 vue-oriql 有所指导意义。

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


猜你喜欢

  • npm 包 @mcritch/ng-packagr 使用教程

    在前端开发过程中,我们经常需要打包我们自己编写的 Angular 库项目,以供其他人使用。为了更加高效、便捷地打包一个项目,我们可以使用 npm 包 @mcritch/ng-packagr。

    4 年前
  • npm 包 steelnodes 使用教程

    steelnodes 是一个基于 Node.js 的前端开发工具,它可以方便地将多个 CSS 和 JS 文件合并、压缩,并生成版本号,同时还可以处理图片、字体等资源文件,提高前端项目的构建效率。

    4 年前
  • npm 包 prom2json-se 使用教程

    在前端开发中,我们经常需要处理异步请求和数据格式转换,这时候我们就需要使用到一些工具来帮助我们快速地处理数据。prom2json-se 就是其中的一款工具,它可以将 prometheus metric...

    4 年前
  • npm 包 @nodeem/react-drag-and-drop 使用教程

    前端开发中,拖拽功能是很常见的需求,而 @nodeem/react-drag-and-drop 是一个强大的 npm 包,可以帮助我们在 React 应用中轻松实现拖拽功能。

    4 年前
  • npm 包 unix-timestamp-offset 使用教程

    在前端开发中,有时经常需要对时间戳进行转换和计算操作,这时候一个可靠的 unix 时间戳转换工具就尤为必要。npm 包 unix-timestamp-offset 就是一个方便实用的工具,本文接下来将...

    4 年前
  • npm 包 expires-unixtime 使用教程

    在前端开发中,经常会碰到需要计算某个时间的过期时间点。而 Unix 时间戳是一个经常使用的时间格式,因此我们可以使用 expires-unixtime 这个 npm 包来方便地计算 Unix 时间戳的...

    4 年前
  • npm 包 @fxjs/handbag 使用教程

    什么是 @fxjs/handbag @fxjs/handbag 是一款 JavaScript 工具库,主要解决 DOM 操作的问题。它提供了一系列的方法,可以轻松地操作 DOM 元素和属性,使得前端开...

    4 年前
  • npm 包 @jporto/vue-flex-layout 使用教程

    在前端开发中,我们常常需要使用布局来使我们的页面看起来更加美观和易读。而针对这个问题,我们可以使用 Flexbox 这个强大的布局方式来解决。而在 Vue 框架中,我们可以通过 npm 包 @jpor...

    4 年前
  • npm 包 bimserverapi 使用教程

    在前端开发过程中,我们常常需要使用一些第三方的库或者工具来帮助我们完成一些特定的任务。在这些第三方库或者工具中,npm 是非常重要的一个。npm 是 Node.js 的包管理工具,可以方便地下载、使用...

    4 年前
  • npm 包 lewys 使用教程

    近年来,前端开发领域变得越来越庞杂和复杂。而 npm 作为前端包管理器,能够帮助开发者更好地管理和维护项目。其中,使用 npm 包可以将自己的代码或是别人的优秀代码快速集成到自己的项目中。

    4 年前
  • npm 包 decimality 使用教程

    1. 简介 decimality 是一个用于解决 JavaScript 处理小数点精度问题的 npm 包。它可以让你在 JavaScript 中轻松地处理小数计算和比较。

    4 年前
  • npm 包 rollodeqc-gh-users 使用教程

    在前端开发中,我们经常需要将 Github 用户信息集成到我们的应用程序中。为了解决这个问题,开发人员可以使用 rollodeqc-gh-users 这个 npm 包来帮助我们获取 Github 用户...

    4 年前
  • npm 包 unused-modules-webpack-plugin 使用教程

    在当今的前端开发中,webpack 已成为了不可或缺的工具之一。webpack 打包后的代码,有时会存在没被使用的代码,这些无用的代码会增加包体积和加载时间,同时也降低了性能。

    4 年前
  • npm包fuzz-me-maybe使用教程

    当我们在编写前端代码时,经常需要处理不同类型的数据,进行各种转换和处理,而fuzz-me-maybe(以下简称fmm)就是一个非常好用的npm包,可以帮助我们快速进行数据类型处理和转换。

    4 年前
  • npm 包 gzip-isize 使用教程

    1. 前言 在前端开发中,为了优化网站性能,我们通常需要对网站进行压缩处理。对于压缩后的文件大小,我们可以使用 gzip 工具进行测量。但是,如果我们需要对多个文件进行压缩处理,那么手动测量每个文件的...

    4 年前
  • npm 包 data-elevator-mongodb 使用教程

    data-elevator-mongodb 是一款基于 Node.js 平台的数据迁移工具,可帮助开发者高效地将 MongoDB 数据库中的数据迁移到一个新的 MongoDB 数据库中。

    4 年前
  • npm 包 pm2-hooks 使用教程

    简介 在前端项目开发过程中,我们经常需要使用到 PM2 进程管理工具来管理和部署应用。而 pm2-hooks 是 PM2 的一个插件,它可以在应用运行期间以及应用启动和停止时执行指定的脚本,方便我们对...

    4 年前
  • NPM包ezs-basics使用教程

    在前端开发过程中,我们常常需要使用一些JavaScript库来加快开发流程和提高代码质量。NPM是一个常用的包管理器,通过安装NPM包,我们可以在我们的项目中快速引用我们所需要的库。

    4 年前
  • npm 包 simplehtm 使用教程

    在前端开发中,我们经常需要将 HTML 转换为纯文本格式,并对其中的特殊字符进行处理。npm 包 simplehtm 是一个非常优秀的工具,可以帮助我们快速地实现这一需求。

    4 年前
  • npm 包 gridsome-plugin-netlify-cms 使用教程

    在前端开发中,静态网站生成器已经成为非常流行的方式。Gridsome 是一个使用 Vue.js 构建的 JAMStack 框架,可以帮助你快速构建静态网站。而 Netlify CMS 则是一个内容管理...

    4 年前

相关推荐

    暂无文章