【问题标题】:Embedding a React App in an existing Rails App在现有的 Rails 应用程序中嵌入 React 应用程序
【发布时间】:2017-03-09 02:57:28
【问题描述】:

我工作的公司目前正在尝试更新版本的前端。其中一个功能是一个独立的 React 应用程序,它以 Rails API 为基础。我们希望应用程序的一部分(React 部分)使用 react 路由器而不是 rails 路由器。

有什么方法可以让我们将 react 应用程序嵌入到应用程序的自己的部分中,同时仍然保持会话并能够将 rails 路由器用于 rails 组件,将 react 路由器用于 react 组件。

【问题讨论】:

    标签: javascript ruby-on-rails reactjs


    【解决方案1】:

    是的,这是很常见的事情,尤其是在迁移到更现代的客户端繁重的应用程序时。

    正如您所说,您将使用 Rails 通过 cookie 处理会话管理,而路由将是棘手的部分。但是,您可以选择使用 rails 来提供单个页面,并让 react-router 处理其余部分。这取决于像 auth see 这样的东西。

    一旦呈现了 html 页面,就会加载 javascript,react-router 将处理其余的路由。这意味着您将无法通知 Rails 客户端路由更改。如果不进一步了解您的应用程序设计,我很难解决这是否会成为问题。

    另见gem

    【讨论】:

      【解决方案2】:

      // 在现有应用中使用 yarn 添加 react

      yarn install
      yarn add https://github.com/rails/webpacker.git 
      yarn add react
      yarn add axios 
      

      resolved_paths: ['app/assets'] // 添加到 webpacker 以获取 assets 文件的访问权限

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-09-21
        • 1970-01-01
        • 1970-01-01
        • 2018-11-19
        • 2018-12-21
        • 1970-01-01
        • 1970-01-01
        • 2021-08-31
        相关资源
        最近更新 更多