В этой статье дается некоторое предысторическое обсуждение моей работы по влиянию на 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.