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()
相关链接
- GitHub 仓库:prisma-labs/graphql-request
- npm 包:graphql-request
帮助我们改进文档
发现翻译问题或内容错误?请告诉我们。
