node.js - 从 React 应用程序编辑 JSON 文件 - 页面构建器概念
问题描述
我需要构建一个页面构建器,我们希望将元素拖放到一个屏幕上,该屏幕成为一个配置 json 对象。然后我必须将该配置对象保存到项目文件夹中的 config.json 文件中(或者在重新渲染应用程序时可以加载它的地方)。通过此页面构建器编辑页面时,我们希望实时重新加载。
FE 拖放应用程序是用 React 构建的,我可以达到我在内存中拥有 JSON 对象的程度。
你建议我如何为 BE 端做这个架构?
- 是否可以公开 API 端点(例如使用 Express),并将 json 文件保存到 React App“/src”文件夹的某个位置?或者我只能编辑“/public”文件夹中的文件?
- 如果我将我的 FE React 应用程序重构为 Next.js 应用程序会怎样?如果 Next 在服务器中渲染,是否意味着我可以在渲染之前进行配置文件编辑?
- 创建一个独立的 Express 应用程序保存所有 config.json 文件会更好吗?然后通过 API 端点公开它们以进行编辑和阅读?
提前致谢!
解决方案
从您的问题中,我看到您正在开发一个类似于 wordpress 的应用程序,用户可以在其中使用拖放元素轻松创建页面。所以这里需要一个配置来持久化元素的放置。
我阅读了您提到的所有三种方法,似乎第三种方法会对您有所帮助。您可以运行快速应用程序并使用数据库来存储配置设置,因为我发现将其存储在文件中并不是一个好习惯。编辑完成后,您可以进行 api 调用以将数据发布到 db,类似地,在读取时您可以使用 api 调用从 db 中提取数据。
推荐阅读
- excel - Vloop使用2个值在Excel中搜索
- node.js - EC2 实例上 NGINX 上的 2 个 Node.js 站点突然停止工作
- java - 仅更改生成的 PDF 中某些页面的页面方向(由 html 创建)
- php - 如何在 laravel 5.5 中启用 Route::controller,有什么包可以使用吗?
- javascript - 使用tablesorter通过选中的复选框对表格进行排序
- ios - 如何在点击时替换 SKSpriteNode 的图像
- swift - 函数设计为每 15 次单击执行一次,但始终在第一次单击时执行
- android - 将窗口 SystemUiVisibility 设置为 SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 时,全屏 DrawerLayouts 如何影响将片段添加到后台堆栈?
- spring - Spring 如何知道将返回对象转换为 JSON 而不是 XML 或任何其他格式?
- android - Android Maps,如何检查滚动长度