Если вам нужна кабина, зачем начать с простого кучи логов?
Только в прошлом году Грунт был фактически безоговорочен Глоток Отказ И теперь, как только глоток и Брибарифицировать наконец достигая критической массы, WebPack угрожает облегчить их обоих. Есть ли действительно убедительная причина, чтобы изменить свой процесс сборки в интернет-концерте еще раз ?
Давайте рассмотрим достоинства каждого подхода.
Бражайю (и друзья …)
Брауризация концептуально проста. Эй, посмотрите все эти прохладные пакеты на NPM ? Позвольте мне обернуть их для тебя, чтобы вы могли использовать их в браузере. Удобно Спасибо, Browserify! Тем не менее, эта простота также является его ахиллесом пяткой. Скорее всего, у вас есть длинный список других вещей, которые вам нужно сделать, как министерство, объединение, проживание, беговые тесты и т. Д.
Конечно, браурификация имеет Богатая экосистема трансформаций чтобы помочь сделать вещи. Но провести все это, вы сами по себе. Таким образом, вы собираетесь добраться до инструмента автоматизации сборки JavaScript, как Grunt или Gulp. Эти инструменты отлично работают, но настраивая их правильно – это процесс, потребляющий много времени. После долгого времени работали с Grunt или Gulp, вы начинаете реализовать длинный список вещей, которые вы делаете для каждого проекта. Не было бы неплохо начать с более мощного и самоуверенного инструмента, который сделал больше предположений о вашем процессе сборки?
Если вы думаете о вашем процессе сборки, как уникальная кабина журнала, затем броситесь с помощью Grunt/Grunt это как начать здесь:
WebPack.
WebPack нападает на проблему по сборке в принципиально более интегрированной и самоуверенной манере. В брауристере вы используете GruTP/Grunt и длинный список преобразований и плагинов, чтобы выполнить работу. WebPack предлагает достаточно питания из коробки, который обычно не нужен ворчание или глотал вообще Отказ Да, извините, что блестящий новый навык, который вы просто освоили, уже чуть не бесполезно. Э-э … уй? Вздох. Добро пожаловать в жизнь на переднем конце.
Но эй, это цена прогресса. С WebPack вы можете объявить простой файл конфигурации для определения процесса вашего сборки. WOAH, файл конфигурации? Да, если вы мигрировали из Grunt, чтобы глотать, потому что вы предпочитаете код по конфигурации, это может звучать как шаг назад. Но конфигурация не обязательно плохо.
Я нахожу WebPack, только что это. WebPack предполагает, что вам нужно перемещать файлы из исходного каталога в каталог назначения. Предполагается, что вы хотите работать с библиотеками JavaScript в различных форматах модуля, такими как Commonjs, и AMD. Предполагается, что вы захотите скомпилировать различные форматы, используя Длинный список погрузчиков . Конечно, вы можете сделать все это через Broseerify и Gulp, но вы должны сделать больше проводки самостоятельно. И вы вручную подключите две совершенно отдельные технологии.
Интегрированный характер WebPack действительно сияет, когда вы рассматриваете истории для работы с другими активами, такими как изображения и CSS. WebPack достаточно умный, чтобы динамически встроить Ваш CSS и Изображения когда это имеет смысл. Вы можете просто включить эти активы, такие как вы делаете с JavaScript сегодня. Хотите использовать CSS? Легкий:
require("./stylesheet.css");Хм? Почему бы не просто ссылаться на CSS старый путь? Ну, WebPack рассмотрит размер этого файла. Если это маленькое, это будет встроить таблицу стилей! Если это долго, это будет минимутифицировать файл и дать ему уникальное имя для разряжения кэша. Эта же история работает для Изображения Также используя плагин URL-погрузчика.
img.src = require('./glyph.png');WebPack будет Base64 кодировать это изображение, если это достаточно маленькое, что имеет смысл. Скрытый!
Поскольку WebPack полностью осведомлен о вашем процессе сборки, это может интеллектуально разделить свои ресурсы в связки . Это пригодится на больших спа. Ваши пользователи будут обслуживаться только файлами, которые им нужны для данной страницы вместо одного монолитного файла JavaScript.
Наконец, если вы хотите насладиться быстрой разработкой приложений без обновления браузера, WebPack предлагает Замена горячего модуля Отказ Если вы служите в реакции, вы можете использовать Реагировать горячий погрузчик Отказ Да, Брауризация имеет эквивалент , но в моем опыте реализация WebPack по @dan_abromov превосходит. Поверь мне, как только вы испытали быстрое разработка приложений обратной связи, вы никогда не вернетесь:
WebPack предполагает, что вы хотите построить каюта журнала. Таким образом, вы начинаете с настоящей кабины, а затем дает вам инструменты необходимы настроить его на ваши потребности.
Суть
Если вы предпочитаете явно настроить небольшие однозначные инструменты с нуля, а затем сбрасываться с Grund/Grunt, будет больше вашего стиля. Брауризация легче понять первоначально, поскольку концептуальная площадь поверхности намного меньше – предполагая, что вы уже знаете Гулп или Грунт. При использовании Gulp с Browserify результирующий процесс сборки может быть проще понять, чем эквивалентный сборки WebPack. Это часто более явно о намерениях. Богатая экосистема Browserify Ecosystem означает, что вы можете получить почти все, что сделано с достаточной проводкой. Ах, проводка. Это большой недостаток. Быть этим явным требует много времени и отладки, чтобы получить право. Я недавно создал Стартовый комплект Для моего предстоящего плютаренного курса по реагированию и потоку. Он тянет в некоторых технологиях в реакции, но удаление этих зависимостей является тривиальным, если вы просто ищете быстрый способ получить прокат с помощью браурификации и глотает.
Но если вы удобны с небольшим «магией» через один более самоуверенный инструмент, то WebPack может сократить время, необходимое для того, чтобы выдержать устойчивый процесс сборки. Я нашел, что My WebPack Configs, как правило, около половины размера эквивалентного файла Gulp. Выиграть не просто менее печатание – это также приводит к меньшему времени, потраченным отладки конфигурации.
Массивные хрунтные файлы повернулись много к идее конфигурации. Но неудача грунта не была конфигурацией. Это было нехватка мнения. Конфигурация не зла. Это мощное время сохранения времени, когда предположения правы.
Готов копать глубже?
Обновленные документы WebPack отлично, но я предлагаю читать Pete Hunt’s отличное вступление вместо. Тогда проверьте ” Создание среды разработки JavaScript «На Pluralsight ( бесплатная пробная версия ), чтобы увидеть полную среду разработки, построенной с нуля, используя WebPack.
Использование реагирования? Ознакомьтесь с « Построение приложений с реагированием и Redux в ES6 ».
Chime In на Hacker News или Reddit.
Дом Кори автор Несколько курсов по JavaScript, React, Clear Code, .NET и многое другое на Pluralsight Отказ Он главный консультант в rectegssconsulting.com , программный архитектор в VINSolutions, Microsoft MVP и поезда разработчиков программного обеспечения на международном уровне по методике программного обеспечения, такими как интерфейс разработки и чистого кодирования. CORY Tweets о JavaScript и Front-End Development в Twitter, как @houseCor Отказ
Оригинал: “https://www.freecodecamp.org/news/browserify-vs-webpack-b3d7ca08a0a9/”