配置reactjs和django应用程序有哪些选项?

Ara*_*ind 4 django reactjs

我使用reactjs作为前端和Django REST API用于后端.整合两者的最佳方法是什么?这两个中的哪一个是个不错的选择?

  1. 为前端和后端运行两个服务器?

要么

  1. 用reactjs替换django模板?

非常感谢您的帮助.

Dap*_*Dap 8

这里几个选项

Django模板与反应.不是我喜欢的方法.基本上,你正在混合django模板和jsx.你最终得到了交织在一起的语言.这里的好处虽然低于头脑.它需要很少的配置,并允许您编写反应并在一个类似于旧学校php的文件中使用django上下文变量.如果您需要快速启动并运行,那么它是一个可行的解决方案.看看这个库https://github.com/Frojd/django-react-templatetags

使用django webpack loader 这将允许您将反应代码与django代码分开,但仍将所有代码保存到一个存储库中.您需要配置django设置以查找您的反应代码,然后在您的prod/dev服务器上,让您的Web服务器指向您的静态反应代码所在的目录,或者编写一个django URL并查看将返回react应用程序.正确配置并运行后,它将位于/ static /中python manage.py collectstatics.这里的好处是它将代码保存到一个存储库,但仍然隔离了python和javascript代码.快速说明.使用此方法进行开发时,您不会对热重新加载做出反应.这是帮助您配置此设置的库https://github.com/owais/django-webpack-loader

有两个单独的代码库 类似于你现在正在做的.有一个单独的反应存储库,由nodejs后端服务,或者最好将代码部署到像amazon s3这样的cdn服务,并让amazon服务于单页应用程序.然后将您的django应用程序放在一个单独的服务器上,使用它的耗材rest api(需要配置允许的cors).这样做的好处:分离关注点.但是这种方法需要大量的操作工作:部署,配置和管理2个独立的代码库.如果您有时间和资源,我建议您进行此设置.


Dan*_*kin 1

两台服务器是什么意思?你的意思是两个项目/存储库?是的,您可以将前端保留在单独的项目中。如果您的后端有多个客户端(例如移动应用程序和网络),那么这是有意义的。不同的开发人员只能拥有编辑其存储库的权限。如果您打算在项目中使用一些微服务结构,那么它也是有意义的。但更简单的方法是将前端和支持保持在同一个项目中。尝试查看一些有关 Django+reactjs 应用程序的教程。