图QL.js
GraphQL的JavaScript执行,由Facebook创建的API的查询语言.
这个叉子的目的是增加我们阿波罗能够改进的速度 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 的步骤如下:
- 重命名文件,并将语法转换为 TypeScript :
Foo.js变成Foo.ts,任何流程特定语法都应被转换. - 创建一个
Foo.js.flow文件导出类型声明文件( e)Foo.d.ts如果在场,可有助于指导这一进程。 确定文件的前缀// @flow否则会出事的! - 删除
Foo.d.ts文件,如果它存在的话. - 运行
npm run check,并确保两者flow财务报告和审定财务报表tsc类型检查工程无问题.
检查出来 45da517 (英语) 作为这一进程的一个例子.
更改日志
变化以 GitHub 发布。 。 。 .
许可证
图QL.js是 麻省理工学院执照。 。 。 .
贷项
这个 .d.ts 此工程中的文件部分来自 @types/graphql,写作:
- 东阳 https://github.com/托尼·皮通内尔(英语:TonyPythoneer)
- 凯勒布·梅雷迪思 https://github.com/calebmer (英语)
- 多米尼克·沃森 https://github.com/intellix (中文(简体) )
- 开火 https://github.com/firede (英语)
- 凯平纳尔 https://github.com/kepennar (英语)
- 米哈伊尔·诺维科夫 https://github.com/freiksenet (中文(简体) )
- 伊万·贡查罗夫 https://github.com/ Ivan Goncharov 页面存档备份,存于互联网档案馆
- 哈盖·科恩 https://github.com/DxCx 互联网档案馆的存檔,存档日期2013-10-02
- 里卡多·葡萄牙 https://github.com/rportugal (中文(简体) )
- 蒂姆・格里瑟 https://github.com/tgriesser (中文(简体) )
- 迪伦·斯图尔特 https://github.com/dyst5422 (英语)
- 阿莱西奥·迪奥尼西 https://github.com/adnsio (英语)
- 迪维恩杜·辛格 https://github.com/divyenduz (英语)
- 布拉德・扎克 https://github.com/bradzacher (英语)
- 柯蒂斯莱恩 https://github.com/clayne11 (英语)
- 乔纳森·卡多佐 https://github.com/JCMais 页面存档备份,存于互联网档案馆
- 帕维尔·朗 https://github.com/langpavel (英语)
- 马克·考迪尔 https://github.com/mc0 (中文(简体) )
- 马尔蒂扬·瓦拉文 https://github.com/martijnwalraven (中文(简体) )
- 毛泽东 https://github.com/jedmao (英语)
并且根据 MIT 许可证。 。 。 .
感谢以上所有贡献者!