首页 > 解决方案 > 如何使用 webpacker 和 React 在 Rails 6 应用程序上启用 ssr

问题描述

我猜由于新搭建的 Rails 应用程序使用 webpacker,添加像 react rails 这样的 gem 将是一种反模式。也就是说,是否有一种规范的方法可以在具有反应的 Rails 应用程序上启用 ssr,或者我是否还需要为此运行节点?

标签: ruby-on-railsreactjsserver-side-rendering

解决方案


我最近尝试了 3 种流行的解决方案:

  1. Rails + Webpacker
  2. Rails + Webpacker + react_on_rails
  3. Rails + Webpacker + react-rails

react_on_rails 意见...它不使用可以使用 RSpec (Capybara) 结合 React + Rails 环境的集成测试。webpack 和 rails 服务器都通过 foreman gem 运行,这意味着您必须添加另一个复杂的配置才能让 RSpec 集成测试遍历两者。我已经在配置自己的设置太多了(Docker、Heroku 等等……)。过去一年的提交历史也主要是文档更改(不过现在看过去几周有一些活动)。它还推广了“Pro”版本,这让我有点失望。

react-rails 更轻量级并且更容易开始工作。该团队是官方的 React 团队 (reactjs.org)。它对我来说“刚刚工作”。

如果您需要一个起点,我建议您查看这个作为 Rails + React 设置构建的 Rails 入门工具包:

https://github.com/patrickclery/dry-rails-react

特别是这些文件:

  • babel.config.js
  • 应用程序/javascript/packs/application.js
  • 应用程序/javascript/packs/server_rendering.js
  • 包.json
  • 配置/webpacker.yml

推荐阅读