想要将 Rails 个应用程序转移到 React 应用程序

Want to transfer Rails application to React application

目前,Rails 应用程序正在运行。
环境如下。

Environment Version
Rails 7.0.0
Ruby 3.0.0
Elasticsearch(using ruby'gem) -
Activeadmin(using ruby'gem/management screen) -
RailsAdmin(using ruby'gem/management screen) -
Devise(authentication) -
Capistrano(Deploy) -

我正在考虑将 React 引入我的应用程序。
但是在管理屏幕的情况下,我想使用 Rails。
因为它已经定制了很多,到目前为止没有投诉。

我认为将 React 引入 Rails 应用程序是 3way。

  1. 使用 Webpacker
  2. 使用Gem(react-rails/react_on_rails)
  3. 使用create-react-app

在我看来,1&2和3有很大的不同。 1&2 是来自 Rails 视图的 React 渲染。 3 是 React 独立呈现,Rails 仅用于 API。

所以我有三个问题。

  1. 比较1&2和3,哪个更快?有很大的不同吗?
  2. 3的情况下,我觉得React'host应该是3000,Rails应该是3001,有没有可能逐步释放?像引入React只有顶屏,其他都是Rails.
  3. 如果是 3,我可以使用 RailsAdmin 管理屏幕吗?

我不知道。
请帮帮我..

我几乎总是使用方法 3,例如使用 Rails 作为 API 并拥有管理面板。 要实现这一点,您只需为所有 api 端点和管理员定义不同的路由,不要想太多。在 rails 端口下,您可以放置​​所有 API 端点和一个 rails 管理端点。 在 rails 中使用 Webpacker 仍然受支持,但从 rails 7 开始它不再是默认的,这意味着如果出现一些问题(根据我的经验,webpacker 经常出现)你可能会更难是时候寻求帮助了。 使用 gems 与 JS 框架一起工作在我看来总是不必要的复杂化,并且添加一个额外的工具来帮助使用不同的工具...

将这两个工具单独使用,您仍然可以将两个应用程序放在一个存储库中,没有什么可以阻止您这样做,但是 Rails 负责后端并作为前端做出反应是最明智的方法恕我直言。 没有什么能阻止使用 rails 应用程序作为 API 服务器和 rails 管理视图。这只是设置路由的问题。