01:15 Устройство сборки 04:06 Обновление до ES 10:20 Обновление до ESM 16:04 Выводы
@kost9kost3 жыл бұрын
Почему не используешь scss, sass вложенность? намного удобней писать же
@gorodiskiy44 жыл бұрын
Это было затишье перед бурей? Я слишком долго ждал, и тут годнота за годнотой
@vic_shine4 жыл бұрын
Эх, как же круто, что ты снова вернулся на ютюб ☺️ каждый ролик - лучший!
@lenaryan4 жыл бұрын
Склейка на 8:16 - это как я на матане, когда отвлеклась на секунду, а на доске уже километровая функция)) Спасибо, мега-актуально для меня сейчас, пойду свой галпфайл переписывать))
@pepelsbey4 жыл бұрын
Ой, думал только я на на Галпе сижу :)
@IIIu6ko4 жыл бұрын
@@pepelsbey Нет, не только :)
@webdev20304 жыл бұрын
Галп для сборки и само то. Вебпак лучше всего для JS (ESM, React, Vue и т.д.). Если мы делаем обычный лендос, то html, css, картинки собирать галпом удобно, а js уже можно и на вебпаке собрать. И кстати вебпак тоже к галпу прикрутить можно, галп будет запускать вебпак для сборки.
@xaaser20064 жыл бұрын
Это называется webpack-stream
@get-web4 жыл бұрын
Актуально, понятно и просто. Наконец-то дошли руки обновить свою сборку и это видео было очень кстати!
@michaelpotyomkin25684 жыл бұрын
прикольная футболка :)
@blackbirdchannel-c7b4 жыл бұрын
Как всегда, чётко и по делу. Вадим, благодарю тебя за то что ты делаешь.
@Seacrest.3 жыл бұрын
vite лучший сборщик
@pepelsbey3 жыл бұрын
К счастью, не бывает лучших сборщиков. Но бывают лучшие сборщики для вашей задачи. Vite хороший, но не лучший :)
@Anodoree2 жыл бұрын
Шикарное видео! Очень полезное! Чётко, ёмко и понятно. Огромное спасибо!
@k-ivan4 жыл бұрын
Вадим, как всегда полезно! Спасибо!
@sergeyshevtsov51253 жыл бұрын
Супер! У меня был всего день на изучение gulp. А тут ещё сразу в современном синтаксисе. Макеев - One Love!
@ВадимБогданов-й1ч4 жыл бұрын
Как раз недавно задумывался над обновлением gulp. Спасибо за очередное доступное и полезное видео)
@dmitrytrofim2 жыл бұрын
Огромное, блин, спасибо за видос. А то я с этими модулями чуть не рехнулся)
@Kirill-kh3kt4 жыл бұрын
Вадим всегда классно объясняет. Спасибо, мы в команде используем gulp )
@slonofanya4 жыл бұрын
Я, когда прокрастинирую, занимаюсь вот таким причесыванием кода. А сегодня еще и смотрел как другие это делают, прогресс :)
@romanstein133 жыл бұрын
Спасибо большое за ультра-полезности!
@АлексейБугаев-з9ь4 жыл бұрын
Спасибо! Мега полезная информация!
@mikhailurban12224 жыл бұрын
Вадим спасибо! очень полезно!
@alex_tur4 жыл бұрын
Спасибо! Про gulp.task не знал. Надо переписать!:) Я еще по файлам разбил таски, потому что стало очень сложно ориентироваться в коде gulpfile`а, а когда все такси по файликам в отдельной папочке - красиво и удобно (для меня)!
@someelse9894 жыл бұрын
Как всегда круто
@DimaNaks3 жыл бұрын
Очень полезное видео, решил настроить себе галп для пэт-прожектов и зарылся на пару вечеров, на официальном сайте доки по современному синтаксису практически нет, какие то крупицы лежат на гите галпа.
@pavelarseyev4524 жыл бұрын
Спасибо за видео. Скажите, где я ошибся? Я повторял все по вашему видео, но когда я говорю "Хоп", у меня почему-то не копируются все остальные таски :(
@pepelsbey4 жыл бұрын
Хоп-трюк требует очень сильной концентрации. Это придёт с годами. А пока придётся руками (
@ДмитрийШулешов-э2с4 жыл бұрын
Лайкос за футболку, она прекрасна как и всегда)
@MaksimZhatkin4 жыл бұрын
Спасибо большое за видео! Очень нравится ваш формат, особенно то, как много мелочей вы пытаетесь учесть. Возникает вопрос: как работать с первоисточником? Мне как разработчику, который только более-менее встал на ноги было бы так же интересно узнать о том, как вы следите за развитием веба. Иными словами, какими инфо-каналами пользуетесь, как фильтруете информацию, и в какой момент понимаете, когда пора лезть в доку и изучать новые фишки. Сейчас очень много информации самого разного качества и сложно в ней не заплутать, а требования как к разработчику постоянно растут и уже не подходит поверхностный серфинг темы(благо, на этот канал это не распростроняется) и все чаще нужно знать, как та или иная технология работает "под капотом".
@pepelsbey4 жыл бұрын
Читаю Твиттер, тут нечего добавить. В основном, в англоязычном аккаунте полезное twitter.com/pepelsbey_/following
@zapiski_verstalshika4 жыл бұрын
спасибо) будет чем заняться на досуге))
@VladyslavZubko694 жыл бұрын
Блин Вадим, ты супер, спасибо за видео Побежал обновлять свой галп-конфиг ехехеххе Пс. ты в видно, о том как настраивать сервер, сказал что покажешь как прикрутить гит-экшены на деплой. Пару дней назад, я использовал их в первый раз, что бы прикрутить линтеры всякие. Какой же каеф(Правда попрощался с Тревисом). Очень жду видос о том как сделать крутой деплой ❤️
@pepelsbey4 жыл бұрын
Обязательно про экшены расскажу, сам от них прусь страшно. А пока можно посмотреть на то, что я на них написал для «Веб-стандартов» github.com/web-standards-ru/web-standards.ru/tree/master/.github/workflows
@VladyslavZubko694 жыл бұрын
@@pepelsbey та я итак уже все "потырил", кроме деплоя. Обожаю вообще ходить по репозиториям крутых людей, и что-то одалживать ;) У кого-то экшен крутой, у кого-то правило для линтера, и все вот это)
@no4e4 жыл бұрын
И ещё такой вопрос, почему именно terser, есть же бабелевский пресет minify? Или это не то? Я запутался. Может обзор пакетов для этого самого галпа устроить, с обоснованием какие пакеты зачем нужны и почему выбраны именно они? И про бабель, постцсс плагины, браузерлист, etc.
@pepelsbey4 жыл бұрын
Иногда нет никаких обоснований, просто пришёлся под руку один пакет вместо другого. Но если будут какие-то серьёзные мысли на эту тему - расскажу.
@kassailakasela45454 жыл бұрын
Спасибо, хорошее видео. Пользуюсь Gulp как основным инструментом для сборки проектов (не SPA), и по большей части как task runner. Т.к. тасков много, храню их в отдельных файлах как модули. Недавно переписал таск сборки JS на webpack (до этого был на Rollup, т.к. были проблемы с импортом модулей, manualChunk и с обновой node-resolve), при этом не меняя ничего отстального. В этом и прелесть Gulp. Есть ли смысл переписавать таски на export (не считая просто рекомендацию разрабов)? P.S. Бандлеры и компиляторы меняются, а Gulp остается=)
@vkuznetsov444 жыл бұрын
gulp агонь! Бро!))
@overstrides4 жыл бұрын
Спасибо, отличное видео
@Disorrder4 жыл бұрын
Для меня всё-таки удобнее, привычнее и красивее function declaration, так код выглядит более... декларативно. Т.е. export function html() { . . . } И сразу явно видно, что это не константа экспортируется, не какой-то какой-то кусок данных, а функция. Кстати, в style guide от гугла рекомендуется именно такой синтаксис. От airbnb наверняка тоже, надо посмотреть. С галпом работал с самых первых версий, как только он появился. Даже синтаксический сахар для него писал, когда ещё не было этих gulp.series. До этого был самопальный сборщик на ноде, который работал гораздо примитивнее, так что я очень обрадовался, что наконец-то кто-то сделал нормальную сборку. Как же я ошибался... У галпа было много проблем, приходилось допиливать его под свои нужды. И вот webpack реально спас мне много времени. А особенно потом webpack-dev-server с его hot reload. Работает значительно быстрее, гораздо удобнее в конфиге. Хотя в первые дни тоже было отрицание этого странного синтаксиса, какие-то лоадеры, чёёё. Но потом как понял и как вошёл во вкус. Ну, и назначение у гульпа и вебпака разные. Первое - это task runner, а второе - module bundler. Т.е. гораздо удобнее (особенно для SPA) сборку переложить на вебпак, а в гульпе оставить все остальные задачи. Хотя за последние 4 года я ни разу не использовал gulp, абсолютно всё покрывает вебпак. Даже сборку Electron, если надо. Но я и не делаю многостраничные сайты. По сути, gulp просто выполняет подряд функции длуг за другом. Это было удобно, когда ещё не было async/await синтаксиса в ноде. А сейчас можно обойтись и без таск раннера, просто скрипт написать, к чему лишние навороты? Особенно, если ты и так экспортишь функции. Gulp полезен только своими хелперами типа gulp.src (то же, что и glob), gulp.watch (который использует chokidar под капотом), gulp.dist (довольно просто заменить fs.copyFileSync). В общем, хз. Ни разу не приходилось строить длинные цепочки из тасков.
@pepelsbey4 жыл бұрын
Про синтаксис я с вами, в принципе, согласен. Но в случае галп-файла, особенно простого, он уже выглядит достаточно декларативно и тебе становится важнее его лаконичность, чем принципиальное понимание где там функция, а где что. Или другими словами: чем чище и компактнее, тем проще читать. А если у вас развесистый код где-то ещё, то там можно писать иначе.
@useruo5uo1sn6z4 жыл бұрын
Спасибо огромное за урок. Я тут 3 дня бился над ошибками современных gulp файлов (скачивал с github). А еще можно сделать урок как разбивать большой gulpfile на модули, функция которые лежат отдельными файлами и подключать по необходимости. Каждый task в своем файле. У меня к примеру gulpfile уже на 350 строк, становится сложно ориентироваться и изменять, дополнять функционал. Уроков понятный нет на youtube. Думаю будет многим полезно. А у Вас получается отличное объяснение.
@pepelsbey4 жыл бұрын
Спасибо за идею, будет повод - запишу :)
@SamaraDjVitek4 жыл бұрын
Вадим, спасибо за классное видео! Скажите, у Вас в сборке нет ни одного плагина для оптимизации изображений. Это потому что Вы графику руками любите оптимизировать, или просто плагинов нет хороших?
@pepelsbey4 жыл бұрын
Я чуть ниже уже ответил, но скопирую :) Не люблю сжимать картинки при сборке, мне жалко гонять без толку процессор при CI/CD и подогревать и без того горячую планету. Я их готовлю либо отдельно, либо отдельной задачей при деплое - если нужно нарезать варианты для из оригинала.
@martineden5114 жыл бұрын
Вадим на голову выше всех обучающих каналов вместе взятых. Мне кажется нужна новая рубрика - Вадик проверяет на ошибки блогеров учителей Верстки. Там много чего можно найти. Он просто с солидарности молчит
@pepelsbey4 жыл бұрын
Я их просто не смотрю :) И конечно соболезную вам, если там всё действительно так плохо.
@doremirex4 жыл бұрын
Спасибо Вадим. Менял таски на функции почти сразу как 4й галп появился. Было бы интересно посмотреть сборки, которые вы используете для верстки.
@pepelsbey4 жыл бұрын
В описании ссылка на код, который в видео - что-то такое и использую последнее время.
@aurelianobuendia42034 жыл бұрын
Спасибо 😊
@Battlehater4 жыл бұрын
Обновление Gulp с 3-й на 4-ю версию очень много радости принесло когда имел неосторожность обновить старый проект(когда еще не использовали методы series и parallel). Сейчас стараюсь все держать в актуальном состоянии. К стати, я деструктуринг для методов галпа использую: const { src, dest, parallel, series } = gulp
@pepelsbey4 жыл бұрын
Мне голые src и dest кажутся какой-то слишком уж магией, лучше писать явно gulp.src и gulp.dest. Плюс { src, dest } пока не работает в ESM-синтаксисе с Gulp.
@Battlehater4 жыл бұрын
@@pepelsbey А вот мне понятно, что значит src и dest(и другие, ведь видно что я импортирую) =). Но ответ решил написать потому что на Node.js 14 возможна полноценная работа с модулями(в т.ч. и { src, dest }). Возможно, и более ранние версии работают с таким подходом. Я выбрал эту версию просто потому что она последняя на данный момент, снова откатывать и проверять на старых немножко лениво. По правде говоря, gulp и node.js содержат всю необходимую документацию. Могу на гитхаб загрузить, но уровень владения английским такой, что мне будет очень неловко комментировать что и как нужно сделать :) Но если коротко - убираем type="module" из package.json, меняем имя gulpfile.js на gulpfile.esm.js, ставим esm модуль(npm i esm -D). Done!
@Battlehater4 жыл бұрын
Можно и без -D / -save-dev, просто я разделяю модули на те, которые используются для сборки и те, которые становятся частью подключаемых библиотек.
@Battlehater4 жыл бұрын
убрать type="module" - не очевидная штука, потому что node.js требует ее для esm, но, вероятно, gulp + esm(модуль) используют свой подход и он не работает с нативными модулями.
@FFxSquall4 жыл бұрын
Dynamic Imports подерживаются в 13 ноде, так что не обязательно выносить наверх плагины postcss, но придется использовать await так как import() вернет промис и я не уверен, что postcss это поддерживает. await import() должен работать.
@alpro72033 жыл бұрын
Привет Вадим! Подскажи пожалуйста, если знаешь: почему после установки некоторых пакетов, появляются уязвимости уровня high? И как с ними бороться? Обычный npm audit fix - - force не помогает Просто не понятно, от чего вообще это зависит? Создаю новый проект. Устанавливаю только Gulp. И сразу появляется 22 уязвимости.
@pepelsbey3 жыл бұрын
Просто пакеты или их зависимости могут долго не обновляться и в дереве появляется какая-то зависимость, где нашли уязвимость. В 90% случаев это не проблема для обычной локальной сборки, так что можно это игнорировать. Почитайте у Дэна Абрамова об этом overreacted.io/npm-audit-broken-by-design/
@igorshadrin46364 жыл бұрын
На 13:19 можно делать динамический импорт в ES модулях, для этого используется функция import('/path/to/module'), которая возвращает промис. Современные браузеры даже поддерживают эту фичу. Подробнее можно почитать на mdn.
@pepelsbey4 жыл бұрын
А в Node.js сработает?
@0xFD1C41FA4 жыл бұрын
@@pepelsbey сработает, но дело в том, что динамический импорт - это асинхронная операция. Таски придётся сделать асихронными функциями.
@igorshadrin46364 жыл бұрын
@@pepelsbey судя по документации должен, но только если сторонний модуль ESM. Свежей ноды под рукой сейчас нету, попозже только смогу проверить. nodejs.org/api/esm.html#esm_import_expressions
@igorshadrin46364 жыл бұрын
@@pepelsbey проверил, прекрасно работает в любом контексте с любыми модулями. Вот код: github.com/Vilvarin/dynamic-import-test Таски действительно должны быть асинхронными, как заметил liaFcipe, но это не большая проблема, gulp прекрасно с ними работает. Так что для следующего видео можно разобрать и такой кейс =)
@modusvivaldi77014 жыл бұрын
@@0xFD1C41FA Если не ошибаюсь, таски Gulp'а всегда асинхронные. Хэндлер таска должен возвращать Promise/Stream/Process, или же запускать callback, который передаётся аргументом: (done) => { /* do something */; done(); }. В этих случаях при запуске такса Gulp успешно оборачивает хэндлер в нодовский stream и всё работает как положено. Иначе таски тупо не знают, когда заканчиваться.
@RisDeep4 жыл бұрын
Спасибо
@Avatarang19944 жыл бұрын
При просмотре данного видео возникло пару вопросов, надеюсь вы на них ответите, потому как сам я разобраться не смог) После команды npm i, появляются предупреждения о уязвимости, одна уязвимость высокая и две низкие. Сталкиваюсь с такой же ситуацией, при установки своей сборки. Если прописать команду npm audit fix, то уязвимости не исправляются. Как быть в этой ситуации? как править уязвимости в ручную? позволительно ли игнорировать данные предупреждения? Заранее спасибо вам, у вас отличные видео, очень интересно объясняете.
@pepelsbey4 жыл бұрын
Предупреждения об уязвимости - это ежедневная реальность платформы Node.js. Не забывайте обновлять саму Node.js и пакеты и всё будет в порядке. Обычно этот аудит важен не для локальной сборки, а для ситуаций, когда вы запускаете код на серверах.
@DimaNaks3 жыл бұрын
И еще хотелось бы уточнить, я настраивал по доке галпа и там для того чтобы все современные фичи работали используется @babel/core, @babel/register и @babel/preset-env. С точки зрения более элегантного решения без установки доп. пакетов твоё решение безусловно выглядит лаконичнее и если я правильно уловил идею то с релизом 14 ноды можно в принципе отказываться от того варианта который использовал я?
@pepelsbey3 жыл бұрын
Если я правильно помню, вам это уже не нужно было с 12-й версии - ES-модули там впервые начали появляться. Но в 14-й вот уж точно.
@ZifStone4 жыл бұрын
Нативные модули под нодой это хорошо, но есть еще детские болезни у популярных библиотек. Поэтому пользуйтесь с осторожностью. Например, ожидаемый синтаксис импорта не работает github.com/ramda/ramda/issues/3019
@Mitorun3 жыл бұрын
А сейчас, в середине 2021, метод ESM актуальный? Стоит ли его применять, а то больше не встречал такого синтаксиса в галпфайлах.
@pepelsbey3 жыл бұрын
В сообществе разработчиков большая инерция к использованию ES-модулей. Лично я стараюсь брать этот подход по умолчанию всегда, как максимально future-proof. И только если что-то принцпиально не работает - брать попроще.
@gerasim_vol4 жыл бұрын
А можешь скинуть конфиг для баш терминала? Что бы показывало директорию текущую?
@pepelsbey4 жыл бұрын
У меня вариация на дот-файлы Матиаса Байненса github.com/mathiasbynens/dotfiles
@dmitrykuzmin65244 жыл бұрын
Вадим здравствуйте, пореккомендуйте ресурс где можно научиться пользоваться многострочным курсором, выделением слов как на видео и прочему, заранее благодарю!
@pepelsbey4 жыл бұрын
Думаю, можно поискать в документации к вашему редактору. Например, VS Code code.visualstudio.com/docs/editor/codebasics
@dmitrykuzmin65244 жыл бұрын
@@pepelsbey Благодарю за подсказку, посмотрю в документации.
@ValiantClock1804 жыл бұрын
Thanks for your tutorial 👌 I use gulp-imagemin (minify) and gulp.spritesmith (sprites) instead of just copy images. Maybe it can be useful for someone.
@pepelsbey4 жыл бұрын
Я не люблю сжимать картинки при сборке, мне жалко гонять без толку процессор при CI/CD и подогревать и без того горячую планету. Я их готовлю либо отдельно, либо отдельной задачей при деплое - если нужно нарезать варианты для из оригинала.
@cubucul4 жыл бұрын
Спасибо за видео! А как сделать такое лаконичное приветствие в терминале? Не поделишься конфигом?
@pepelsbey4 жыл бұрын
У меня вариация на дот-файлы Матиаса Байненса github.com/mathiasbynens/dotfiles
@cubucul4 жыл бұрын
@@pepelsbey Спасибо!
@IvanIsayev4 жыл бұрын
Вадим, а расскажи что за клевая тема у тебя в vscode? И иконочки 🙏🏻
Ребят, а посоветуйте человеку который галп видел только в виде "ага, здесь надо в консоль записать gulp scss или gulp js и соберется то что нужно", какой сейчас есть хороший и правильный вариант подтянуть в него компиляцию ES7?
@pepelsbey3 жыл бұрын
Я вот так делаю, например github.com/fword-dev/f-word.dev/blob/master/gulpfile.js#L29
@antonmikaskin18923 жыл бұрын
Спасибо за видео, Вадим! Подскажи, пожалуйста, есть ли хороший способ в Gulp собирать JS файлы? Допустим // main.js export frist from 'path_to_frist.js' // some code // // first.js export second from 'path_to_second.js' // some code // // second.js // some code // Чтобы он собрал это в нужном порядке в один файл? Заранее спасибо!
@@pepelsbey Спасибо! Заодно узнал, что можно ссылаться на строки GitHub)
@Kumigy4 жыл бұрын
Интересное видео. А по манипуляциям с вс-кодом видео не планируется? Я про хоткеи интересные и плагины, ну и вообще почему именно он, а не шторм? Интересно было бы посмотреть сборку лайфхаков именно по рабочему процессу.
@pepelsbey4 жыл бұрын
Про VS Code хочется подобнее рассказать, да. Спасибо за идею :)
@Kumigy4 жыл бұрын
@@pepelsbey будем с нетерпением ждать!) а то у нас тут команда поделилась на любителей шторма и на вскодеров. У каждой ИДЕ свои преимущества и свои недостатки, было бы интересно послушать ваше мнение, ну и лайфхаки по работе с той или иной ИДЕ.
@maskazan4 жыл бұрын
Ещё для минимализма можно избавится от return и фигурных скобок
@pepelsbey4 жыл бұрын
Что для вас минимализм, то для меня нечитаемый код, так что извините :)
@KonstantinKochh4 жыл бұрын
Вадим, ты же ускоряешь моменты, когда делается npm install и подобное? Почему оно так быстро происходит??) Неужели пора ноутбук менять :(
@pepelsbey4 жыл бұрын
Ускоряю в видео, чтобы не тратить ваше время :)
@KonstantinKochh4 жыл бұрын
Vadim Makeev фух. Успокоил
@fadilmamedov28444 жыл бұрын
В свое время пользовался Browserify для сборки JavaScript модулей и подключал к Gulp. Сейчас это уже неактуально? Понимаю, что у Webpack гораздо больше фич, но есть ли что-то другое для небольших проектов? Может у кого-то есть опыт и может что-то порекомендовать?
@pepelsbey4 жыл бұрын
Мне кажется, что Browserify уже отстал и для модулей я бы скорее сегодня использовал Rollup.
@TheSkiveee4 жыл бұрын
На официальном сайте gulp говориться, что они отказалась от старого api gulp.src и т.д. Также рекомендуют вместо import gulp from "gulp" подключать только то что нужно import { src, dest, parallel, series } from "gulp"
@pepelsbey4 жыл бұрын
У меня импорт частей { src, dest } заработал только в CJS-нотации, а в ESM не завелось, поэтому рассказывать не стал - пока не разберусь. Что касается gulp.src, то сборку хотелось скорее обновить, чем переписать принципиально без gulp-пакетов, на что намекает документация. Но это как-нибудь в следующий раз. Сегодня отказались от gulp.task и это уже маленькая победа :)
@Staxa2012Chanell4 жыл бұрын
13:12 will dynamic imports work for postcss plugins imports inside CSS task?
@pepelsbey4 жыл бұрын
Да, но нужно сделать async функции, полистайте комментарии под этим видео, есть несколько вариантов.
@Staxa2012Chanell4 жыл бұрын
Vadim Makeev круто, спасибо! Не посмотрел их сначала) Спасибо за выпуск! Хороший пример рефакторинга.
@@pepelsbey спасибо, уже нашёл под прошлыми видео. У вас ещё и font-weight в vs code 600 стоит?
@pepelsbey4 жыл бұрын
У меня font-weight дефолтный, может просто macOS по-другому шрифты рендерит?
@Vladyslav_Sliusar4 жыл бұрын
@@pepelsbey может быть
@semdevmaster4 жыл бұрын
С переходом на импорты что-то получаем, а что-то теряем. Например так уже не получится import { src, dest, series } from 'gulp' Так как gulp не поддерживает именованный экспорт, и по всему файлу нужно постоянно дублировать слово gulp.что-то А при require деструктуризация отлично работает - const {src, dest, series} = require('gulp'); Получается, что поддержку всех фишек современного js можно получить только если и node.js свежий > 13 и все пакеты написаны по-современному, а у gulp и всей его экосистемы с этим большие проблемы. Но будем надеяться, что разработчики не запустят gulp и обновят его код.
@pepelsbey4 жыл бұрын
Вы правы, это пока только скромные шаги в сторону полной модульной красоты, но кое-что уже работает. Мне пока даже нравится, что нужно писать gulp перед вызовом функций - иначе src, dest, series слишком похожи на магию ниоткуда.
@ДмитрийШулешов-э2с4 жыл бұрын
import gulp from 'gulp' const {src, dest, series} = gulp
@XATADOM4 жыл бұрын
Почему gulp не установлен глобально?
@pepelsbey4 жыл бұрын
Да потому, что у меня глобально уже есть npm и npx, поэтому все таски я группирую в npm-скрипты (npm run task), а если нужно постестировать отдельные, то npx gulp task.
@jorgenUA4 жыл бұрын
я пробовал всё делать на VSC, но там все плагины вразнобой и не связаны, а webpack больше заточен для SPA, по моему. Так что для проекта, где вёрстка является главной, gulp остаётся удобным инструментом. Спасибо, конечно полезно. Что нравится, уже говорил, но всё же - всегда объясняешь по ходу нюансы( "npx потому что..." ) - признак знатока. Кстати, насчёт const мне понравилось это видео, довольно познавательно...kzbin.info/www/bejne/jKqth2ptj6t_iKs
@Disorrder4 жыл бұрын
Ужасное видео, крайне не рекомендую прислушиваться к этому мнению. Лучше посмотри на codestyle таких компаний, как google, airbnb, они есть в открытом доступе, на них равняются многие компании, в т.ч. и российские. И это всё не без причин сделано. Доводы типа "мне лень набирать const, потому что у него 5 букв и они разбросаны по всей клавиатуре" - ну это бред полнейший. Программист бОльшую часть времени именно читает код, смотрит в монитор и думает над задачей, а не пишет. Поэтому потратить лишнюю секунду на 2 лишние буквы - ну это такая мелочь, букв что ли не хватает? Экономия на спичках, что называется. А потом другие участники команды читают это и ищут, а где же эта переменная изменяется дальше по коду? Нигде? А что хотел сказать автор, написав let?
@borisoffdenis4 жыл бұрын
Это все ужасно. Нет, ваши видео замечательные. А вот эти современные конфиги и зоопарк сборщиков/разборщиков - это ужасно. Раньше было лучше)
@iamo04 жыл бұрын
Секунда JS-занудства, даже скорее JS ОКРа. В стрелках можно не писать return, если не используются фигурные скобки и функция состоит из одного выражения, которое что-то возвращает. const html = () => gulp.src(... и дальше по тексту
@pepelsbey4 жыл бұрын
Я однострочники со стрелочными функциями и без скобок боюсь немного, а так бы с радостью.
@iamo04 жыл бұрын
Да, согласен, с непривычки выглядит как мешанина.
@fluxet16634 жыл бұрын
'html', 'styles' - вас не смущает такое именование для функций?
@pepelsbey4 жыл бұрын
Пока нет, но вы расскажите, что смущает вас
@Abdurahmon_Melikow3 жыл бұрын
[22:52:33] 'styles' errored after 922 ms [22:52:33] Error: File not found with singular glob: /Users/melikovabdurahmon/Desktop/secondgulp/src/sty les/index.css (if this was purposeful, use `allowEmpty` option) at Glob. (/Users/melikovabdurahmon/Desktop/secondgulp/node_modules/glob-stream/readable.j s:84:17) Уважаеми Автор: Почему у мне таких ошибок на old version gulpfile.js
@pepelsbey3 жыл бұрын
Если прочитать ошибку, то её суть в ненайденом или пустом файле. Но кроме этого может быть много причин, вам придётся разобраться самостоятельно.
@leonarrus86134 жыл бұрын
Заговор разработчиков, программистов - not ie 11 )))
@alehmakaranka10894 жыл бұрын
А еще вместо gulp можно попробовать в npm-scripts
@pepelsbey4 жыл бұрын
Пробовал: сложно пишется, плохо читается, у многих пакетов нет нормальных CLI и в итоге проще написать на Gulp. Но для простых вещей пишу скрипты конечно.
@alehmakaranka10894 жыл бұрын
@@pepelsbey ну там своих проблем хватает, это да. Как например - кросс-платформенные скрипты. Но когда сборщик не слишком сложный, как в вашем примере - postcss, минификация html да копипаста ассетов - можно в принципе обойтись и без абстракции в лице gulp. Но у gulp тоже есть свои недостатки. Как например - плагины-обертки над другими пакетами. В каком-то роде абстракции над нужными пакетами + зависимость от этих абстракции. Тот самый случай, когда пакет обновился с breaking changes, а плагин который его использует - нет, или хуже того, вообще не поддерживается автором вовсе. И приходится немного погрузится в принципы работы со Stream и строчить свой плагин для gulp. Хотя вместо gulp могут появится излишние cli (если в пакете этого по умолчания не было), и обмен может показаться в худшую сторону... Но, по мои наблюдениям, проект, в котором овер-много scss, быстрее компилируется из коробки, чем через gulp. Плюс там еще и watcher есть со своими плюшками Чем меня вебдев и забавляет, так это то, что одну и ту же задачу можно сделать разными способами. Это прикольно, я думаю
@danielkhachaturian3 жыл бұрын
Срочно убрать все точки с запятыми!))
@pepelsbey3 жыл бұрын
Нет, спасибо, мне нормально.
@no4e4 жыл бұрын
а зачем экспортить все таски? достаточно ж только необходимые серии сделать публичными, а остальные пусть так и висят приватными, не?
@pepelsbey4 жыл бұрын
Скорее привычка, чтобы можно было удобно добраться из npm-скриптов до нужных задач и скомбинировать нужную. Я не ставлю gulp глобально, использую npm-скрипты.