Create-GraphQL-Server 项目教程
1. 项目介绍
Create-GraphQL-Server
是一个脚手架工具,允许你从命令行生成一个新的基于 Mongo、Express 和 Node.js 的 GraphQL 服务器项目。生成项目后,你还可以直接从 Schema 文件生成代码来支持你的 GraphQL Schema。该项目包含通过 Passport Local 和 JWT 的基本身份验证支持。
注意:该项目目前没有积极维护,但由于它是一个脚手架工具,这并不一定是一个问题(你可以用它生成一个项目,然后忘记这个工具),但它正在逐渐过时。一个精神上的继任者是 graphql-cli
项目,请查看。
2. 项目快速启动
安装
首先,全局安装 create-graphql-server
:
npm install -g create-graphql-server
创建服务器
使用 init
命令在 my-new-server-dir
文件夹中创建一个新的服务器:
create-graphql-server init my-new-server-dir
cd my-new-server-dir
yarn install
启动服务器
在大多数开发环境中,你可以使用打包的预构建 Mongo 服务器启动你的新服务器:
yarn start
如果 mongo-prebuilt
启动失败,或者你更愿意使用其他 MongoDB 安装进行开发,只需在启动服务器时设置 MONGO_URL
环境变量,如下所示:
Windows:
SET MONGO_URL=mongodb://localhost:27017&&yarn start
Unix/OSX:
MONGO_URL=mongodb://localhost:27017 yarn start
如果你为 Mongo 设置了用户名、密码或不同的端口,或者通过服务(如 mLab)访问 Mongo,请相应地更正 MONGO_URL
。
运行查询
你的服务器现在正在运行。要查询它,请将你的浏览器指向 http://localhost:3010/graphiql
。
3. 应用案例和最佳实践
添加类型
要添加类型,你可以在 GraphQL Schema 文件中定义它们,然后使用 add-type
命令为它们生成代码,如下所示:
create-graphql-server add-type path/to/my-new-type.graphql
如果你有一个包含多个 Schema 文件的文件夹,可以通过指向文件夹而不是单个 Schema 文件来一次性添加它们:
create-graphql-server add-type path/to/folder
更新类型
要更新类型,只需再次运行 add-type
命令:
create-graphql-server add-type path/to/input.graphql [--force-update]
删除类型
要删除类型,使用以下命令,指定 GraphQL 文件的路径或类型名称:
create-graphql-server remove-type path/to/input.graphql
create-graphql-server remove-type typename
4. 典型生态项目
Apollo Server
Apollo Server 是一个流行的 GraphQL 服务器库,支持多种 Node.js 框架,如 Express、Koa 和 Hapi。它提供了强大的功能,如缓存、订阅和数据加载。
GraphQL Yoga
GraphQL Yoga 是一个全功能的 GraphQL 服务器,旨在简化 GraphQL 服务器的设置和配置。它基于 Express 和 Apollo Server,并提供了开箱即用的功能,如文件上传和订阅。
GraphQL CLI
GraphQL CLI 是一个命令行工具,用于管理 GraphQL 项目。它提供了生成、部署和测试 GraphQL 服务器的功能,是 Create-GraphQL-Server
的精神继任者。