简介
generator-hapi-apollo 是一个用于构建 GraphQL API 的 Yeoman 生成器。它使用了 Hapi.js 作为服务器框架和 Apollo Server 作为 GraphQL 服务。通过使用该生成器,我们可以快速启动一个 GraphQL API 项目,进行开发和测试。
安装
在使用 generator-hapi-apollo 之前,我们需要先安装 Yeoman:
$ npm install -g yo
然后,安装 generator-hapi-apollo:
$ npm install -g generator-hapi-apollo
使用
执行以下命令启动生成器:
$ yo hapi-apollo
在执行该命令后,会出现一个设置向导,要求我们输入项目名称、描述等信息。根据向导提示填写完毕后,生成器将在当前目录下新建一个项目文件夹,并安装所有必要的依赖包。
接下来,我们可以运行以下命令在浏览器中启动服务:
$ npm start
此时,我们可以在浏览器中访问 http://localhost:4000
来查看 GraphQL Playground。
在项目目录下,有一个 src
目录,我们可以在其中添加我们自己的 GraphQL 模式(schema),并在 handlers
中定义我们的数据查询和修改逻辑。在 resolvers
中,我们可以定义我们模式中所有字段的解析器。
另外,我们还可以在 config
目录下配置数据库连接、服务端口等信息。
示例代码
下面是一个简单的示例,展示了如何使用 generator-hapi-apollo 创建 GraphQL API:
在 src/schema.graphql
中定义 GraphQL 模式:
type Query { hello: String } type Mutation { changeHello(to: String!): String }
在 src/handlers.js
中实现数据查询和修改逻辑:
-- -------------------- ---- ------- --- ----- - ------- -------------- - - ------ -- -- ------ ------------ --- - -- -- -- - ----- - -- ------ ----- -- -
在 src/resolvers.js
中定义解析器:
-- -------------------- ---- ------- ----- - ------ ----------- - - --------------------- -------------- - - ------ - ------ -- --------- - ------------ -- -
在浏览器中访问 http://localhost:4000
,输入以下查询或修改命令:
查询:
query { hello }
返回:
{ "data": { "hello": "world" } }
修改:
mutation { changeHello(to: "everyone") }
返回:
{ "data": { "changeHello": "everyone" } }
现在,您已经可以使用 generator-hapi-apollo 创建并编写自己的 GraphQL API 了!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005752381e8991b448ea3fc