GraphQL.js:GraphQL 的 JavaScript 官方实现

GraphQL.js 斩获了 20k+ 的 Star:

正文顶部截图

README区域截图

GraphQL.js 是 GraphQL 的 JavaScript 官方参考实现。GraphQL 是 Facebook 创建的一种 API 查询语言。

GraphQL.js 提供两个核心能力:定义类型模式,以及针对模式执行查询。

通过 npm 安装:

npm install --save graphql

也支持 yarn 和 bun:

yarn add graphql
bun add graphql

使用方式很直观。先定义一个 GraphQL 类型模式:

import {
  graphql,
  GraphQLSchema,
  GraphQLObjectType,
  GraphQLString,
} from 'graphql';

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

然后执行查询:

var source = '{ hello }';

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

graphql 函数会先验证查询的语法和语义是否正确,验证不通过则返回错误信息。

GraphQL.js 既可以用于 Node 服务端,也可以用于浏览器端。同时提供 CommonJS 和 ESModule 两种格式,和 webpack、rollup 等打包工具配合使用没有问题。

项目采用 MIT 许可证,遵循语义化版本控制。最新大版本提供完整支持,包括功能更新、缺陷修复和安全补丁。前一个大版本在新大版本发布后继续维护 12 个月。更早的版本不再主动维护。

项目接受社区贡献,详细说明参见仓库中的 CONTRIBUTING.md 文件。

布后继续维护 12 个月。更早的版本不再主动维护。

项目接受社区贡献,详细说明参见仓库中的 CONTRIBUTING.md 文件。

更多推荐