📅  最后修改于: 2023-12-03 14:59:30.495000             🧑  作者: Mango
本文介绍如何构建一个基础的 Express
服务器,使用 GraphQL
进行数据查询和操作。
要开始本教程,需要安装以下软件:
如果您没有安装,可以访问官方网站 https://nodejs.org/ 下载并安装。
我们将初始化一个新项目,并添加必要的依赖。
$ mkdir basic-graphql-express
$ cd basic-graphql-express
$ npm init -y
$ npm install express express-graphql graphql
在项目的根目录下创建 index.js
文件,并配置 Express
服务器。
// 文件路径: index.js
const express = require('express');
const graphqlHTTP = require('express-graphql');
const {
GraphQLSchema,
GraphQLObjectType,
GraphQLString
} = require('graphql');
我们需要定义一个 GraphQLSchema
,它由多个 GraphQLObjectType
组成。每个 GraphQLObjectType
表示一个类型,并定义具有它的字段。
现在,我们定义一个只有一个 HelloWorld
字段的 Query
类型:
// 文件路径: index.js
const schema = new GraphQLSchema({
query: new GraphQLObjectType({
name: 'Query',
fields: () => ({
hello: {
type: GraphQLString,
resolve: () => 'world'
}
})
})
});
首先,我们实例化 express
并将端口设置为 4000
。
// 文件路径: index.js
const app = express();
const PORT = 4000;
然后,我们为服务器添加一个 GraphQL
中间件,它将处理所有 GraphQL
请求。
// 文件路径: index.js
app.use('/graphql', graphqlHTTP({
schema: schema,
graphiql: true
}));
最后,我们启动服务器并侦听端口。
// 文件路径: index.js
app.listen(PORT, () => {
console.log(`Server is listening on port ${PORT}`);
});
启动服务器并在浏览器中访问 http://localhost:4000/graphql
。它应该将您带到 GraphQL
界面,您可以在其中测试查询。
尝试运行以下查询:
{
hello
}
它应该返回以下输出:
{
"data": {
"hello": "world"
}
}
您已经成功地创建了一个基础的 Express
服务器,并使用 GraphQL
进行数据查询和操作。这只是 GraphQL
的基础,您可以继续学习和扩展它来满足您的需求。