知海

JavaScript:graphql-request(轻量客户端)

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

概述

graphql-request 是一个简单且灵活的 JavaScript GraphQL 客户端。它以极轻量的方式封装了原生 fetch API,适用于所有 JavaScript 运行环境,包括浏览器、Node.js 与 React Native。

核心特性

  • 轻量级:本质上是对 fetch 函数的薄封装,几乎没有额外依赖;
  • 跨环境:支持浏览器、Node.js、React Native 等主流 JavaScript 运行环境;
  • 简单易用:API 设计简洁,可快速发起 GraphQL 查询(query)与变更(mutation);
  • 灵活扩展:支持自定义请求头、动态变量、错误处理等常见需求,并可基于 fetch 选项进行细粒度控制。

安装

通过 npm 安装:

bash 复制代码
npm install graphql-request

快速开始

下面是一个最基本的使用示例:

js 复制代码
import { request } from 'graphql-request'

// 初始化请求入口,传入 GraphQL 服务端地址
const endpoint = 'https://api.example.com/graphql'

// 定义 GraphQL 查询文档字符串
const query = /* GraphQL */ `
  query getUser($id: ID!) {
    user(id: $id) {
      id
      name
      email
    }
  }
`

// 发起请求并获取数据
request(endpoint, query, { id: '1' })
  .then((data) => console.log(data))
  .catch((err) => console.error(err))

在 Node.js 中使用

需要 Node.js 具备全局 fetch 或通过 polyfill(如 node-fetch)提供 fetch

js 复制代码
const { request, GraphQLClient } = require('graphql-request')

async function main() {
  const client = new GraphQLClient('https://api.example.com/graphql')
  const data = await client.request(
    `query { user(id: "1") { name } }`
  )
  console.log(data)
}

main()

相关链接

帮助我们改进文档

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