Webpack vs Gulp, внятно и понятно. Или для чего мне еще один мощный инструмент?
Доброго времени! :)
Не могу окончательно решить, нужно ли мне использовать webpack с gulp или вовсе, только webpack.
Везде читаю насколько крут webpack, но до сих пор я не осознал его возможностей, которые бы затмили к примеру gulp, или для чего бы использовать его в связке с gulp, ведь раньше я так полюбил простоту и скорость gulp (в сравнении с grunt).
Какие фишки есть в webpack, которые мне очень нужны и я влюблюсь после этого в webpack, если я о них узнаю? :)
Так же, как я понял, webpack не замена таскерам, а какой то бандлер.
Кто может объяснить: для чего же нужен webpack?
Вопросов огромная куча, с каждым поиском ответов их становится чуточку больше и я только вникаю в процесс работы с webpack, но и близко не приближаюсь к осознаю того, для чего же он мне так нужен?
Спасибо! :))
имхо очередное хипстерское (nodejs) веяние.
Каждый год, стабильно, весь мир "внезапно" осознает что их текущий инструмент (выпущенный год назад) стал слишком "фу фу фу", и нужно срочно запилить что-то новое, чтобы все сказали "ах".
Подождем пока лет 5, пока всё это устаканится, и сформируется нормальный стек технологий для разработки.
И такое мнение встречал на просторах, но как то слишком субъективно. :)
Факты убедительнее для того, чтобы самому решить, стоит ли он времени на изучение.
Вячеслав Лебедев:
>Факты убедительнее для того, чтобы самому решить, стоит ли он времени на изучение.
Какие факты? Что это очередная поделка, от тех кто мыслит как на картинке ниже?
Я пользуюсь gulp. В свое время стоял выбор между gulp и grunt, мне по духу больше пришелся gulp.
Менять его на что-то новое... зачем? Он полностью устраивает по своему функционалу.
А менять инструмент только ради моды... ну вам виднее.
D' Normalization: я тоже был примерно такого же мнения, webpack смотрится слегка противоестественно. Но по итогу я решил попробовать и пока доволен, так как он решил целую гору моих проблем со сборкой проектов.
Если у вас SPA, то полюбому нужны модули. А если есть модули - то лучше воспользоваться бандлерами. От gulp-а я к слову не отказался.
Сергей Протько: просто пока что gulp покрывает 100% моих потребностей. Для меня фронт разработка не является основной, поэтому мне мало что требуется от сборщика (тупо собрать js/css/картинки, прокинуть через препроцессоры и кинуть их в папку ассетов).
D' Normalization: ну я о том же говорю, инструмент надо выбирать под задачу. У меня например приложеньки на ангуляре, много разных, минимум сотенка JS файлов, надо как-то зависимости между ними ресолвить и т.д. И с gulp-ом было норм но как-то сложно поддерживать. Вводим нормальные модули - уже лучше. Вводим бандлеры - замечательно.
А для простого сайтика я бы webpack не брал конечно. Хотя сайтики разные бывают.
Вячеслав Лебедев: решает конечно, у меня все проекты на ES6 за последние пол года (чуть меньше пожалуй).
По "куче проблем" - у меня ангуляр приложение по структуре чуть отличается от той, которую можно увидеть в "полуофициальном" yoman генераторе. И под "чуть" я подразумеваю "сильно". Компонентный подход, модульность и т.д. То есть без грамотной системы модулей уже тяжко.
Пока спасало только то что в ангуляре есть свои модули, но иногда всеравно случаются косяки связанные с ресовом зависимостей и т.д.
Так же щаблоны. С gulp я собирал шаблоны в templateCache и не парился, с webpack я тупо импортирую их внутрь компонентов (шаблоны только для них) и далее с ними орудую. А так как я еще и jade использую то это все просто дико удобно.
Стили - делать стили модульными можно и так, но очень легко поддаться соблазну и сделать какую-нибудь зависимость. Да и со штуками типа css modules удобно использовать, правда я пока только пробовал и боюсь переходить на них.
webpack выдерет из core-js только те полифилы которые реально мне нужны (так как я явно прописал зависимость от оных). Это как бы и с другими бандлерами работает, тут просто преимущество бандлеров над тупой конкатенацией. С gulp (имею в виду без бандлинга) же мне пришлось бы подключать весь core-js или лепить кастыли.
Вячеслав Лебедев: модули ангуляра не нужны когда есть ES6 модули. Это рудимент. Благо сегодня вышел angular2 лишенный этого "недостатка". Но в былые времена да, это было удобно.
Сергей Протько: появились парочка попутных вопросов :) если будет не трудно ответить :)
Стили - какому препроцессору отдали предпочтение? или postcss?
core-js - это shim библиотечка как я понял? Т.е. те браузеры, которые могут работают на es6, а кто не может на полифиле, этакая замена babel компиляции?
Вячеслав Лебедев: стили - нет предпочтений. Нравится postcss то активно не использую (только автопрефиксер)
по core-js - это коллекция полифилов. Ну то есть это дополнительно к babel который только транспайлит. Недостающих функций и т.д. оно не добавит. А грузить весь набор полифилов при том что используется процентов 10 как-то не круто.