Я не думаю, что они находятся в прямой конкуренции и не исключают друг друга.
Фактически, вы можете использовать Webpack как часть рабочего процесса Gulp или наоборот.
Для меня разница сводится к личным предпочтениям.
Gulp является программным, а Webpack - декларативным. Это различие широко известно в кругах информатики как code vs configuration
или convention over configuration
.
Если вы посмотрите на конфигурацию Gulp, вы обнаружите, что это набор задач, связанных вместе.
Находясь в конфигурации Webpack, вы увидите набор объявлений переменных.
Я не думаю, что здесь есть явный победитель. Не выбирайте один, потому что он более «популярен», чем другой. Выберите тот, в котором вы чувствуете себя как дома.
Вот один из вариантов использования, в котором Gulp может быть лучше для вас. Например, в процессе разработки я синхронизирую файлы на локальном компьютере с удаленным через ssh. Каждый раз, когда я делаю локальное изменение, этот файл загружается на удаленный сервер. Я использую удаленный сервер, потому что установка зависимостей npm там довольно быстрая по сравнению с моим локальным компьютером. Я сделал это с помощью плагина gulp под названием gulp-ssh
. Я пытался найти ту же функцию в Webpack, но не нашел. Ближайший плагин, который я смог найти, - это тот, который развертывает всю папку сборки на удаленный компьютер, но это не то, что мне нужно.
Если у вас действительно нет особых потребностей в вашем проекте, возможно, Webpack - это все, что вам нужно. Это действительно то, что вы настраиваете один раз и редко прикасаетесь снова. Если вы похожи на меня, кто хочет большего контроля и любит писать сценарии, то Gulp может быть лучшим выбором для вас. В моем случае я склонен время от времени изменять свои сценарии gulp во время разработки, поскольку я открываю новые способы автоматизации.
Продолжение следует…