В этой статье дается некоторое предысторическое обсуждение моей работы по влиянию на Webpacker и того, как это привело к созданию Webpacker Lite, как описано в Webpacker Lite: почему форк Webpacker?

Моя первоначальная цель, когда я увидел работу над Webpacker, состояла в том, чтобы подтолкнуть ее в направлении поддержки React on Rails.

Первоначально Webpacker был настроен на использование стандартной конфигурации Ruby on Rails в файле Ruby в каталоге /config/initializers. С файлами Ruby код Javascript должен либо получить значения из значений среды, установленных в binstubs Ruby, либо код Javascript должен будет проанализировать файл конфигурации Ruby. Я представил идею изменения этой конфигурации на YAML здесь и конкретизировал идею здесь.

Файлы YAML будут предоставлять конфигурацию какпомощникам представлений Ruby on Rails, и конфигурации JavaScript Webpack, чтобы получить правильный файл ресурсов для использования в любой среде Rails/Node. , включая настройку горячей перезагрузки для разработки. JavaScript любит читать YAML больше, чем парсить Ruby!

Я пошел еще дальше, чтобы повлиять на общее направление Webpacker с Выпуском 139: Предлагаемые уточнения цели и области применения Webpacker.

Многие из этих идей вошли в мою работу с Gaurav Tiwari над Webpacker PR 153: Добавить поддержку статических ресурсов.

После слияния Webpacker PR 153, Даниэль Сатмари и я приступили к созданию React on Rails PR #811 Webpacker Integration, который обновил React on Rails до поддержки в первую очередь драгоценного камня Webpacker и, таким образом, избегая конвейера активов при переходе от Webpack для развернутых внешних ресурсов (JavaScript, CSS, изображения, шрифты и т. д.).

Во время реализации мы столкнулись с проблемами и путаницей, в первую очередь из-за необходимости Webpacker настроить установку так, чтобы не было пользовательской конфигурации Webpack, что противоречило цели React on Rails, заключающейся в том, чтобы быть явно неуверенным в отношении конфигурации инструментов Webpack. .

Я сообщил об этой проблеме в выпуске # 238: Выходной каталог в конфигурации должен быть выходным каталогом, согласно изображению, показанному выше относительно файла paths.yml. Большой проблемой является комментарий README за кулисами, что нормально, если webpacker обрабатывает конфигурацию webpack, но не вы.

Обратите внимание, что как Webpacker, так и Webpacker Lite эволюционировали, поэтому многие проблемы, обсуждавшиеся выше, эволюционировали. При этом я очень доволен своим решением предоставить отдельную вилку Webpacker, которая лучше всего подходит пользователям React on Rails.