Этот пост не является руководством по настройке Rails 5.1 с помощью веб-пакета, а здесь вы можете найти действительно хороший вариант.

Несколько дней назад у меня была возможность начать игрушечный проект с новым Rails 5.1. В то же время я слышал о геме webpacker и решил попробовать, потому что мне действительно не нравится настраивать webpack. Я ожидал какого-то болезненного процесса со многими шагами, но на самом деле это было довольно просто.

Установка в новый проект очень проста — вы просто rails new project_name — webpack=React и все — вы получаете действительно мощный шаблон. Он устанавливает все необходимые пакеты JS, устанавливает конфигурацию Webpack для каждой среды. Автоматическая перезагрузка кода работает «из коробки» — вам просто нужно использовать соответствующий скрипт из каталога bin/.

Оказывается, поддержка Rails для webpack использует пряжу вместо npm. Таким образом, вместо npm install — save вы на самом деле yarn добавляете пакет — небольшое изменение синтаксиса, но звучит более естественно, не так ли?

Что странно, так это то, что вы получаете новое место, куда можно поместить свои JavaScript. У нас уже есть app/assets/javascripts, так зачем нам app/javascript?

Я еще не проверял, как он поддерживает пакеты Rails, такие как action cable или jquery-ujs. Я также еще не тестировал развертывание (поэтому предварительную компиляцию ресурсов), но я знаю, как заставить его работать из коробки.

В целом я на удивление доволен этой новой функцией Rails. Это стек, который я использую чаще всего, поэтому здорово иметь его встроенным. И теперь меня ждут какие-то неприятные проблемы, которые всегда случаются, когда все слишком просто ;)