как включить ssr в приложении Rails 6 с помощью веб-упаковщика и React - PullRequest
0 голосов
/ 04 апреля 2020

Я предполагаю, что, поскольку недавно созданные в Rails приложениях на базе Rails используют webpacker, добавление гемов, подобных реагирующим рельсам, было бы против паттерна. Тем не менее, есть ли канонический способ включить ssr в приложении rails с реакции или мне нужно для этого запустить узел?

Ответы [ 2 ]

1 голос
/ 04 апреля 2020

Недавно я попробовал 3 популярных решения:

  1. Rails + Webpacker
  2. Rails + Webpacker + Reaction_on_rails
  3. Rails + Webpacker + Reaction-Rails

Мнениеact_on_rails ... Он не использует интеграционные тесты, которые могут использовать RSpe c (Capybara) для объединения обеих сред React + Rails. И webpack, и rails server работают через гем мастера, что означает, что вам нужно добавить другую сложную конфигурацию, чтобы иметь интеграционные тесты RSpe c, которые проходят оба. Существует также слишком много настроек, которые я уже настраивал сам (Docker, Heroku, чтобы назвать пару ...). История коммитов в прошлом году также в основном вносит c изменений (хотя сейчас, в последние пару недель, наблюдается некоторая активность). Кроме того, он продвигает издание «Pro», которое как бы отключило меня. Реактивные рельсы

гораздо более легкие и их было легче начать работать. Команда является официальной командой React (reactjs .org). Это «просто сработало» для меня.

Если вам нужна начальная точка, я бы порекомендовал проверить этот стартовый набор Rails, который построен как установка Rails + React:

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

В частности, эти файлы:

  • babel.config. js
  • app / javascript / packs / application. js
  • app / javascript / packs / server_rendering. js
  • package. json
  • config / webpacker.yml
0 голосов
/ 04 апреля 2020

Драгоценные камни - это просто еще один вариант, интересно, почему вы видите этот драгоценный камень в рельсах как анти-шаблон, поскольку в документации по реактивным камням есть раздел , указанный c для webpacker . В нем четко описывается, как использовать самоактивный рельс с Webpacker.

Вот еще один довольно современный ресурс , который предоставляет примеры для

  • Webpacker
  • Reaction-Rails
  • response_on_rails

Для webpacker он говорит:

Все файлы в новом каталоге app / javascript / packs компилируются Webpack.

Для Reaction-Rails В нем говорится:

Reaction-Rails - официальная жемчужина сообщества React для интеграции React с Rails. Основным преимуществом использования этого гема является вспомогательный методact_component, который упрощает передачу данных Rails компонентам. Reaction-rails также дает вам возможность продолжать использовать конвейер ресурсов Rails по умолчанию для обслуживания кода React вместо использования webpacker

Для третьего варианта act_on_rails он говорит:

Другим наиболее популярным сторонним гемом для интеграции React в Rails является гем реагирующая_on_rails, созданная ShakaCode. По аналогии с гемом реагирующих рельсов, теперь, когда Rails уже предоставляет простой способ использования React через веб-упаковщик, вы должны проверить, применимы ли указанные преимущества гема реактива_ре_илов к вашей ситуации.

...