@apollo/graphql

中文文档
14.5.0发布于 2019/08/21MITTypeScriptESM + CJS近 30 天下载 2065

一个可针对任何服务的查询语言和运行时间 .

中文使用文档
文档目录7 节
  1. 开始
  2. 使用图QL.js
  3. 在浏览器中使用
  4. 捐款
  5. 更改日志
  6. 许可证
  7. 贷项

图QL.js

GraphQL的JavaScript执行,由Facebook创建的API的查询语言.

Build Status npm version

这个叉子的目的是增加我们阿波罗能够改进的速度 graphql 执行,同时也逐渐将其从Flow转换为TypeScript.

见下列更完整的文档: https://graphql.org/ (中文(简体) ) 财务报告和审定财务报表 https://graphql.org/graphql-js/ (中文(简体) )。 。 。 .

寻求帮助? 查找资源 从社区。 。 。 .

开始

图QL概况见 读取 联 合 国 图QL 规格。概览 描述一组简单的 GraphQL 实例,这些实例作为 测试 在此仓库中。 从这个寄存器开始的好方法就是走 通过README和相应的平行测试.

使用图QL.js

从 npm 安装 GraphQL.js

npm install --save @apollo/graphql

GraphQL.js 提供了两种重要能力:建立类型计划 正在提供针对该类计划的查询.

首先, 构建一个 GraphQL 类型计划, 将地图映射到您的代码基础 .

import {
  graphql,
  GraphQLSchema,
  GraphQLObjectType,
  GraphQLString,
} from '@apollo/graphql';

var schema = new GraphQLSchema({
  query: new GraphQLObjectType({
    name: 'RootQueryType',
    fields: {
      hello: {
        type: GraphQLString,
        resolve() {
          return 'world';
        },
      },
    },
  }),
});

这定义了一个简单的方案,其中包含一个类型和一个字段,可以解决 到固定值。 这个 resolve 函数可以返回一个值,一个承诺, 或一系列的承诺。 顶部包含一个更复杂的示例 职等 测试 目录.

然后,服务的结果 一个查询 该类型计划.

var query = '{ hello }';

graphql(schema, query).then(result => {
  // Prints
  // {
  //   data: { hello: "world" }
  // }
  console.log(result);
});

这将运行一个查询来获取定义的字段 。 这个 graphql 函数将 首先确保查询在执行前在策略上和模拟上都有效 否则,报告错误.

var query = '{ boyhowdy }';

graphql(schema, query).then(result => {
  // Prints
  // {
  //   errors: [
  //     { message: 'Cannot query field boyhowdy on RootQueryType',
  //       locations: [ { line: 1, column: 3 } ] }
  //   ]
  // }
  console.log(result);
});

在浏览器中使用

GraphQL.js 是一个通用库,既可在节点服务器中使用 和浏览器。 例如 图表QL 工具用 GraphQL.js 构建 !

使用 GraphQL.js 构建项目 网络软件包 或者说 滚动 应该只是工作,并且只包括 您使用的图书馆部分 。 这样做是因为GraphQL.js 被分发 与两个共同JS(require())和无害环境管理(import)档案. 确保任何 查找自定义构建配置 .mjs 档案!

捐款

读取"阿波罗贡献者准则".

类型脚本

这个叉子的一部分目的就是开始逐渐迁移 graphql-js 从"流"到"类型脚本". 一些部件已经改装,有些尚待改装。 从 Flow 转换文件到 TypeScript 的步骤如下:

  1. 重命名文件,并将语法转换为 TypeScript : Foo.js 变成 Foo.ts,任何流程特定语法都应被转换.
  2. 创建一个 Foo.js.flow 文件导出类型声明文件( e)Foo.d.ts如果在场,可有助于指导这一进程。 确定文件的前缀 // @flow否则会出事的!
  3. 删除 Foo.d.ts 文件,如果它存在的话.
  4. 运行 npm run check,并确保两者 flow 财务报告和审定财务报表 tsc 类型检查工程无问题.

检查出来 45da517 (英语) 作为这一进程的一个例子.

更改日志

变化以 GitHub 发布。 。 。 .

许可证

图QL.js是 麻省理工学院执照。 。 。 .

贷项

这个 .d.ts 此工程中的文件部分来自 @types/graphql,写作:

并且根据 MIT 许可证。 。 。 .

感谢以上所有贡献者!

版本与发布记录

@apollo/graphql 共发布 5 个版本,首次发布于 2019/08/16;过去 12 个月发布了 0 个版本。

版本发布日期距今
14.5.0latest2019/08/217 年前
14.4.52019/08/217 年前
14.4.42019/08/207 年前
14.4.32019/08/177 年前
14.4.22019/08/167 年前

关于 @apollo/graphql 的常见问题

@apollo/graphql 是什么?

一个可针对任何服务的查询语言和运行时间 .

如何安装 @apollo/graphql?

在项目目录运行 npm install @apollo/graphql,或使用 pnpm add / yarn add / bun add。

@apollo/graphql 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@apollo/graphql 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@apollo/graphql 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >= 6.x。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@apollo/graphql 可以商用吗?

@apollo/graphql 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@apollo/graphql 的下载量有多少?

根据 npm 官方下载统计,@apollo/graphql 在 2026/10/07 – 2026/11/05 这 30 天内被下载 2,065 次,日均约 69 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@apollo/graphql 还在维护吗?

最新版本 14.5.0 发布于 2019/08/21(7 年前);至今共发布 5 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/08/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。