【问题标题】:What is the best way to integrate a react and django application? [duplicate]集成 react 和 django 应用程序的最佳方法是什么? [复制]
【发布时间】:2021-09-04 16:29:08
【问题描述】:

我正在使用 react 和 django 制作一个全栈网站。我遇到了各种将它们整合在一起的方法。将它们作为两个独立的项目并使用 API 进行交互,或者将 react 放在 django 文件夹中并调用后端。哪种方法会更好,更容易?您能否也谈谈每种方法的优缺点。

【问题讨论】:

标签: javascript python reactjs django django-rest-framework


【解决方案1】:

嗯,这实际上很简单,您只需要考虑项目的哪个部分处理哪个问题。

问题的“项目管理”部分

将它们放在同一个仓库中

这是一个部署的好主意,因为您不会遇到两个代码库之间的同步问题,但是,随着开发人员数量的增加,它可能会导致管理问题,因为您的分支基于后端和前端的东西。

总结一下:

  • 更易于部署,因为它是一个单一的代码库
  • 随着开发团队的扩展,可能会导致潜在的管理问题
  • 使“全栈”任务更易于管理,因为您可以在单个代码库中完成它
  • 如果您的目标是扩展单独的“前端”和“后端”团队,那么拆分就不那么容易了

将它们放在不同的存储库中

相比之下,这使得部署更加困难,但更容易分离任务。您有 2 个单独的项目需要维护,一个“API”和一个“前端”。根据您设置的方式,您甚至可以使用 CDN 为您的前端项目提供服务,这为一些现代堆栈打开了大门,例如无服务器,或者您可以部署在有免费计划的 Vercel 上。总而言之,这对于大型团队来说通常是更安全的选择。

总结一下:

  • 部署和管理登台有点困难
  • 更容易在团队之间进行任务子拆分

问题的“工程”部分

关于工程部分,React 必须“转译”,这意味着浏览器不知道如何“解释”它。这意味着您必须从各种捆绑器中选择一个,但我可以推荐一些流行的:

  • Webpack 自定义配置
  • 创建 React 应用(webpack 自带)
  • 包裹(0 配置)
  • Snowpack(我听说过这个很棒的东西,因为它是 node_modules“免费”

一旦你有了这个,你就可以得到“生产”准备好编译的 javascript/css assets ,你需要为你的用户提供服务。根据您在“项目管理”方面所做的事情,您可以使用一键式解决方案或 CDN 提供资产,或者实际上,将您的前端项目与后端合并,并构建您的资产,并与 Django 本身一起为他们服务。

选择取决于你想要达到的目标,但总结一下:

  • 使用 django 服务 - 您将只有一个服务器来处理所有事情,但这意味着如果您计划将您的网站提供给全球,您将需要考虑基础架构
  • 使用一键式解决方案或 CDN 和单独的 API 提供服务 - 如果您计划在世界各地拥有快速加载站点,请选择此选项,使其更易于扩展

总而言之,这是一个复杂的话题,但如果你只是创建一个初创公司或一个小项目供自己玩,我建议你简单地使用 Django 为所有内容提供服务,并将所有内容保存在一个单一代码库!

【讨论】:

    猜你喜欢
    • 2019-09-18
    • 1970-01-01
    • 2020-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    相关资源
    最近更新 更多