reactjs - 连接 Next.js CSR React 应用程序、Django 和 PostgreSQL 的最佳方式
问题描述
我的问题涉及编写全栈应用程序。
在前端,我有一个 Next.js React 应用程序。我想在客户端渲染它并且可能使用 SWR。在后端,我有一个带有 PostgreSQL 数据库的 Django 应用程序。
我已经看到了两种使所有这些一起工作的方法。
第一个是使用 Django 使用 django-webpack-loader 为 Next.js React 应用程序提供服务,然后在 Django 模板中加载 React 应用程序。
第二个是构建两个独立的应用程序 - 前端 (Next.js) 和后端 (Django + PostgreSQL) 并将它们部署在两个服务器上(例如 Docker 容器)。我读过这篇文章,它让我倾向于第二种选择。然而,这是一个相当古老的解决方案,也许从那时起有些事情发生了变化。
连接 Next.js React 客户端渲染、Django 和 PostgreSQL 时,最佳解决方案是什么?
解决方案
意见可能不同,但根据阅读和个人经验,我认为使用单独的 Next.js 和 Django 应用程序更可取。这 (1) 有助于分离关注点,(2) 有助于避免让 Django 或 Next.js 做任何他们的设计者没有预料到的事情,并且 (3) 使用 Docker 很简单。
这是一个使用 docker-compose 管理服务的示例项目,包括 Next.js 前端、Django 后端和 Postgres 数据库:https ://github.com/ModularHistory/modularhistory
推荐阅读
- pygame - ModuleNotFoundError:没有名为“pygame”的模块,但终端说我安装了 pygame
- reactjs - 无法在没有“解析错误”错误的情况下编译 ReactJS 代码
- sql - Hive 中的条件基于两个表
- ionic-framework - 将 ionic 1 代码迁移到 ionic 4/5 的问题
- javascript - 这是我使用 javascript 和 ajax 发送 JSON 对象的代码
- typescript - 如何将类中每个属性的类型设置为打字稿中的函数签名?
- c - 如何使用 char* 将 LinkedList 包含到我的结构程序中
- java - 使用 java 流从 Arraylist 中删除一个条目,该流用作 hashmap 中的值
- php - API 单独请求 laravel
- react-native - 如何在容器中正确放置文本