设置一个弹簧启动项目与反应相结合

时间:2017-09-09 13:36:15

标签: jquery spring reactjs spring-boot

我打算在spring boot&amp ;;中构建这个应用程序。 reactjs。我想知道什么是好的设置。经过一些研究,我得出结论,我认为有三种方法可以用。

1)在spring boot(Backend)中构建一个API,并在ReactJS(Frontend)中启动第二个项目。这将完全断开后端的前端,这在理论上听起来不错。但似乎还有很多工作要做。

2)在后端渲染视图,并使用React逐步增强+在页面上构建动态部分。 (我不知道这是否可行)

3)在后端渲染视图并抛弃React并像传统项目一样使用jquery。

就个人而言,我倾向于第二种选择。这将为我们节省大量的开发时间,我们仍然可以将React用于网站的高度动态部分。唯一的问题是我不知道这是否可能。我似乎发现的所有信息都是完整的React应用程序。

你们对此有什么看法,或者你有一些推荐的方法吗?

2 个答案:

答案 0 :(得分:1)

我使用reactjs和spring boot创建了一个应用程序。

1.)正如你所提到的那样处理不同项目中的前端和后端将是一项繁忙的工作,但它是一个更好的做法,因为它从前端分离后端而你不必一次又一次地部署你的应用程序来渲染更新后的更改

2.)我使用第二种方法通过使用pusher api完成它。我通过对spring控制器进行ajax调用并在json中获取数据来做出反应。

但是在第二种方法中存在一个问题,因为我需要编译webpack并再次部署整个应用程序以查看我页面上的更新更改。

但是使用第二种方法并不困难。你可以选择

答案 1 :(得分:1)

如果可维护性和可扩展性是您关心的问题,那么解决方案1是唯一明智的解决方案。 (如果它真的是小规模项目,请忽略这一点)

原因

  1. “关注点分离”或者更确切地说“做好一件事” - >可维护性

  2. 好的Javascript-land开发人员可能不是很好的后端程序员,反之亦然。你真的不必雇用“Fullstack”开发人员(顺便说一句,让我告诉你一个秘密,“Fullstack”是一个白日梦:))

  3. 如果您想要无服务器 - 这很容易 - 前端的nodeJs / nginx可以替换为AWS S3(GCP等效 - 云存储),后端可以替换为AWS lambda(GCP等效 - 云功能)。