首页 > 解决方案 > 如何在打字稿中从graphql nestjs服务器读取和写入json文件

问题描述

我目前正在使用 React、Redux、ApolloClient (typescipt) 作为前端,我在后端使用 nestjs 和 graphql。从前端发送的数据存储在 graphql 的内存中,当服务器刷新时,数据会丢失。我不想拥有数据库,而是想使用 JSON 文件来存储数据并在服务器启动以填充前端时从 json 加载数据。

我有点困惑 JSON 文件的连接将来自服务器端。以及 graphql 将如何连接到 JSON。

如果有人可以指导我,那将非常有帮助。

谢谢

标签: jsontypescriptreact-reduxgraphqlnestjs

解决方案


不太清楚为什么要在数据库上使用文件,但与 JSON 文件的连接将来自服务器端(显然)可能通过fs具有类似功能的包readFile及其writeFile同步变体。您将需要某种服务层,位于 GraphQL 解析器和文件读/写服务之间,以促进业务逻辑。

您可能会发现创建多个文件读取器/写入器并将每个不同实体的文件作为单独的文件进行管理是有利的(同样,可能与您拥有的实体数量无关)。

GraphQL 并没有真正连接到 JSON 文件,就像 RESTful 调用没有连接到 JSON 文件一样,它们是通过 Internet 传输/请求数据的协议和方法。由您的服务器充当请求和文件之间的中介,检索/存储预期数据并告诉响应如何对请求作出反应。

总的来说,使用数据库将是一个更健壮、更牢固的解决方案,但如果你绝对想要的话,你可以让它与文件一起工作(尽可能多的反模式)。


推荐阅读