gpt4 book ai didi

node.js - 当还使用 GraphQL 时,Nodejs 和 Express 在 MERN 堆栈 Web 应用程序中的作用是什么?

转载 作者:行者123 更新时间:2023-12-05 08:39:44 27 4
gpt4 key购买 nike

我知道这是一个非常初学者的问题,但在涉及 MERN 堆栈和 GraphQL 时,我很难掌握一些事情。有这个particular project on github Web 应用程序是使用 MongoDB、Express、React 和 Nodejs 以及 GraphQL 开发的。

我知道 MongoDB 用于数据存储,React 用于前端,但我无法理解为什么使用 Express 和 Nodejs 如果使用 GraphQL 创建的 API 直接将 POST 和 GET 数据发送到/来自 MongoDB 数据库? nodejs、express、graphql的作用和联系是什么?

这个问题对你来说可能没有意义,因为我缺少网络应用程序开发的基本概念知识和对网络开发堆栈(如 MERN)的理解。

最佳答案

Node.js 是一个 JavaScript 运行时环境——它实际执行所有服务器端代码。 Express 是一个框架,它提供用于在 Node.js 中开发 Web 应用程序的基本功能。虽然 Node.js 已经能够监听端口上的请求,但 Express 通过消除样板文件并提供更简单的 API 来创建端点,使设置 Web 服务器变得更简单。

GraphQL 是一种查询语言。 GraphQL.js 是 GraphQL 的 JavaScript 实现。两者都不能创建端点或 Web 服务器。 GraphQL 本身不会监听对特定端口发出的请求。这就是我们使用 Express 的目的——结合另一个库,如 apollo-server-expressexpress-graphql,Express 设置我们的端点,监听传入的请求端点,解析它们并将它们交给 GraphQL 来执行。然后它将执行结果发送回发出请求的客户端。

同样,GraphQL.js 不能直接与数据库交互。 GraphQL 只是执行您为响应请求而提供的代码。与数据库的实际交互通常是通过驱动程序(如 mongodb )或 ORM(如 mongoose )完成的。

因此,客户端(如您的 React 应用程序)向您的 Express 应用程序发出请求,Express 应用程序解析请求并将其交给 GraphQL,GraphQL 执行您的查询,并在此过程中调用一些代码,然后从您的数据库中获取数据。此数据被格式化为正确的响应并发送回客户端。

关于node.js - 当还使用 GraphQL 时,Nodejs 和 Express 在 MERN 堆栈 Web 应用程序中的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59168807/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com