在 Ruby on Rails 的公共文件夹中渲染一个 React 应用程序

问题描述

我用 npx create-react-app 创建了一个样板 React 应用程序,更新了 package.json 文件以包含

"homepage": "./",

然后运行 ​​yarn build

之后,我将整个构建目录复制到我的 Rails 6 应用程序的公共文件夹中。

我创建了一个路由、控制器和动作,如下所示:

  def show
    render file: 'public/build/index.html',layout: false
  end

我现在可以在浏览器中导航到该操作并呈现索引,但 yarn build 生成的所有相关静态文件都是 404ing。

我可以在日志中看到:

Started GET "/libraries/1/static/js/2.103cab58.chunk.js" for 127.0.0.1 at 2021-05-22 17:59:48 +0100
Started GET "/libraries/1/static/js/main.ba0d2984.chunk.js" for 127.0.0.1 at 2021-05-22 17:59:48 +0100
Started GET "/libraries/1/static/css/main.9d5b29c0.chunk.css" for 127.0.0.1 at 2021-05-22 17:59:48 +0100

ActionController::RoutingError (No route matches [GET] "/libraries/1/static/js/main.ba0d2984.chunk.js"):
ActionController::RoutingError (No route matches [GET] "/libraries/1/static/js/2.103cab58.chunk.js"):
ActionController::RoutingError (No route matches [GET] "/libraries/1/static/css/main.9d5b29c0.chunk.css"):

Started GET "/libraries/1/manifest.json" for 127.0.0.1 at 2021-05-22 17:59:49 +0100

ActionController::RoutingError (No route matches [GET] "/libraries/1/manifest.json"):

我可以看到构建中的相关链接没有正确路由到 Rails 公共路径 :( 我怎样才能让他们这样做?感谢任何帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)