知海

JavaScript:Graphqurl(客户端)

graphql-github-io-zh-Hans生态项目与库

项目简介

graphqurl 是一个面向 GraphQL 的 curl 命令行工具,同时也是一个极简的通用 JavaScript GraphQL 客户端。它由 Hasura 团队开发并维护,旨在简化 GraphQL API 的开发、调试与调用流程。

核心特性

  • curl 风格命令行:以类似 curl 的方式直接发起 GraphQL 请求,无需编写额外的脚本或配置,开箱即用。
  • 自动补全:在命令行中提供 GraphQL 查询、字段、参数等的自动补全,提升交互效率。
  • 订阅支持:原生支持 GraphQL 订阅(subscriptions),方便实时应用的开发与调试。
  • 内置 GraphiQL:集成 GraphiQL 交互式 IDE,在浏览器中可视化探索和调试 GraphQL API。
  • 通用 JavaScript 客户端:不仅仅是一个 CLI 工具,还可以作为轻量级的 Node.js / 浏览器端 GraphQL 客户端直接引入项目中,调用方式简单直观。

安装

通过 npm 或 yarn 全局安装,即可使用 gq 命令:

bash 复制代码
npm install -g graphqurl
# 或
yarn global add graphqurl

作为项目依赖安装:

bash 复制代码
npm install graphqurl

基本用法

CLI 模式

向 GraphQL 端点发送查询:

bash 复制代码
gq https://my-graphql-endpoint/graphql \
  -q 'query { users { id name } }'

发送 mutation:

bash 复制代码
gq https://my-graphql-endpoint/graphql \
  -q 'mutation { insert_user(objects: [{name: "Alice"}]) { returning { id } } }'

监听订阅:

bash 复制代码
gq https://my-graphql-endpoint/graphql \
  -q 'subscription { online_users { id } }'

JavaScript 客户端模式

在项目中引入并使用:

javascript 复制代码
import { Client } from 'graphqurl';

const client = new Client({
  endpoint: 'https://my-graphql-endpoint/graphql',
});

client.query({
  query: `query { users { id name } }`,
}).then(response => {
  console.log(response.data.users);
});

相关链接

帮助我们改进文档

发现翻译问题或内容错误?请告诉我们。