Webpack. Full Course 2020

แชร์
ฝัง
  • เผยแพร่เมื่อ 13 ม.ค. 2025

ความคิดเห็น • 1.6K

  • @VladilenMinin
    @VladilenMinin  2 ปีที่แล้ว +9

    Исходники тут: t.me/js_by_vladilen/125
    Эксклюзивный контент на моем Boosty: boosty.to/vladilen

    • @sepulz
      @sepulz 2 ปีที่แล้ว +1

      Лучший гайд!!! Ждём обновления под версию 5.

  • @VladilenMinin
    @VladilenMinin  5 ปีที่แล้ว +645

    Долго выбирал материал для этого ролика и постарался в нем учесть все ваши пожелания :)
    Приятного обучения и просмотра!

    • @andriikostenko2379
      @andriikostenko2379 5 ปีที่แล้ว +5

      Большое спасибо за курс! То, что сейчас нужно.

    • @НадяРудяк-я9й
      @НадяРудяк-я9й 5 ปีที่แล้ว +1

      Владилен, огромное спасибо!!! А вы могли бы добавить таймкоды?

    • @FDenni
      @FDenni 5 ปีที่แล้ว +2

      Большое спасибо! Надеюсь всё же дождусь курс от тебя по NgRx и ещё что-нибудь по Angular)))

    • @АндрейАржба
      @АндрейАржба 5 ปีที่แล้ว

      как обычно, красавчик просто) спасибо огромное). Лайк поставил, к просмотру позже, не успеваю за твоим контентом)

    • @FDenni
      @FDenni 5 ปีที่แล้ว

      @@ИгорьШироков-ц1т Спасибо! Сейчас гляну)

  • @ДанилаБогомолов-о1о
    @ДанилаБогомолов-о1о 3 ปีที่แล้ว +183

    Проблема с дублированием файлов (png, fonts).
    Вместо use: 'file-loader' используйте type: 'asset/resource' - это нововведение (относительное) Webpack, которое помогает избежать данной ошибки. Подробнее можно узнать в документации Webpack в разделе asset-modules, там все кристально объяснено.

    • @БорисБаровский
      @БорисБаровский 3 ปีที่แล้ว +8

      по делу коммент, помог

    • @Khiliy
      @Khiliy 3 ปีที่แล้ว +4

      Супер, спасибо помог!

    • @ВладиславКравченко-б4ч
      @ВладиславКравченко-б4ч 3 ปีที่แล้ว +2

      Святой человек, помог!

    • @strange_man317
      @strange_man317 2 ปีที่แล้ว +11

      @@ВладиславКравченко-б4ч На небе есть отдельное облако для тех, кто кидает годноту в комментах)))

    • @ВладиславКравченко-б4ч
      @ВладиславКравченко-б4ч 2 ปีที่แล้ว +5

      @@strange_man317 места рядом с типами со стек оверфлоу

  • @AugusteEden
    @AugusteEden 4 ปีที่แล้ว +234

    У кого возникает проблема с CopyWebpackPlugin - там теперь в plugins нужно писать немного иначе:
    new CopyWebpackPlugin({
    patterns: [
    {
    from: path.resolve(__dirname, 'src/favicon.ico'),
    to: path.resolve(__dirname, 'dist')
    }
    ]
    })

    • @darklightning2624
      @darklightning2624 4 ปีที่แล้ว +3

      Спасибо тебе, добрый человек

    • @technobydlo6093
      @technobydlo6093 4 ปีที่แล้ว +6

      Как же подгорает от вебпак мира! Не успел добраться до годного курса, как уже что-то в синтаксисе поменялось.

    • @kostasancez2358
      @kostasancez2358 4 ปีที่แล้ว

      @@technobydlo6093 по этому документация лучше любых курсов

    • @vanunsakanyan2188
      @vanunsakanyan2188 4 ปีที่แล้ว

      спосибо

    • @annagardt2360
      @annagardt2360 4 ปีที่แล้ว

      Спасибо! Ваш комментарий очень помог!

  • @maksymleonidov7059
    @maksymleonidov7059 4 ปีที่แล้ว +120

    25:01 Скорее всего у автора также установлен webpack-cli и глобально, иначе бы команда webpack не вызвалась из терминала. Чтобы не ставить webpack-cli глобально, можно запускать команду в виде 'npx webapck' или создать script в package.json, с помощью которого можно буде вызывать локально установленный webpack

    • @olegpristashkin9078
      @olegpristashkin9078 4 ปีที่แล้ว

      а что это даст?

    • @unheilbar
      @unheilbar 4 ปีที่แล้ว

      @@olegpristashkin9078 тогда он будет использоваться с директории node_modules/.bin

    • @АлексейЕремин-к1с
      @АлексейЕремин-к1с 4 ปีที่แล้ว

      @Exa1t у меня тоже самое. Кто нибудь нашел решение?

    • @АркадийИванович-ф8и
      @АркадийИванович-ф8и 4 ปีที่แล้ว

      @Exa1t далее когда импорты пропишешь, подхватит

    • @zubrdens
      @zubrdens 3 ปีที่แล้ว +2

      Спасибо за совет, поставил глобально (npm install --global webpack-cli), тогда команда webpack прошла.

  • @jimlabable
    @jimlabable 4 ปีที่แล้ว +136

    Это мой третий подход к Webpack - у ! Оказывается он совсем не такой страшный! Владилен у тебя талант делать сложные вещи простыми!

    • @oleglego8673
      @oleglego8673 2 ปีที่แล้ว +2

      он вновь становится страшным после каждого braking changes обновления...

    • @senails0
      @senails0 2 ปีที่แล้ว +1

      это сарказм?

  • @ГеоргийМирошниченко-т8ъ
    @ГеоргийМирошниченко-т8ъ 4 ปีที่แล้ว +40

    для webpack-dev-server:
    "start": "webpack serve --mode development --open"

  • @vladislavozinkovskyi8276
    @vladislavozinkovskyi8276 4 ปีที่แล้ว +33

    касательно "Автоматизации копирования статических файлов" 1:41:21
    После обновления до 3.11 появился новый шаблон , следующая запись теперь должна выглядеть вот так:
    new CopyWebpackPlugin({
    patterns: [
    {
    from: path.resolve(__dirname, "src/favicon.ico"),
    to: path.resolve(__dirname, "dist")
    },
    ]
    })

  • @marinagrishina4369
    @marinagrishina4369 4 ปีที่แล้ว +60

    в Webpack 5 теперь нужно немного поправить devtool - вместо пустых кавычек '' подставить false
    devtool: isDev ? 'source-map' : false

  • @craioffear2619
    @craioffear2619 ปีที่แล้ว +2

    Просто лучший курс по вебпаку! 3 дня по 10 часов рыл все что можно, ничего не получалось, посмотрел твой курс в 3 часа и все получилось) спасибо тебе!

  • @vasilymishanin
    @vasilymishanin 2 ปีที่แล้ว +27

    Спасибо за отличное видео, оно дает полное представление о работе webpack.
    Теперь не нужно искать тот самый сакральный конфиг ))
    Немного из 2022 (из Webpack 5) (возможно, я ошибаюсь, поправьте):
    - вместо CleanWebpackPlugin: просто добавить свойство clean:true в output;
    - вместо use:['file-loader']: можно прописать type: "asset/resource";
    - на отсутствие @babel/plugin-proposal-class-properties у меня уже не ругался;
    - eslint-loader is deprecated: использовал eslint-webpack-plugin.

    • @RM-bc4pz
      @RM-bc4pz 2 ปีที่แล้ว +1

      Без babel/polyfill запускается асинхронная функция?

    • @langonar
      @langonar 2 ปีที่แล้ว +1

      Спасибо, мил человек

    • @AqVadPlay
      @AqVadPlay 2 ปีที่แล้ว

      @@RM-bc4pz Да, запускается с ним и без него

    • @AqVadPlay
      @AqVadPlay 2 ปีที่แล้ว

      "- на отсутствие @babel/plugin-proposal-class-properties у меня уже не ругался;" Потому что статик перешел на другой стейдж и ему теперь для работы отдельный плагин не нужен

    • @nikitachihranov1072
      @nikitachihranov1072 2 ปีที่แล้ว

      @@AqVadPlay спасибо)

  • @oOIMAXIOo
    @oOIMAXIOo 5 ปีที่แล้ว +124

    Ты герой современного программирования!

    • @Darkrogua
      @Darkrogua 4 ปีที่แล้ว

      @@ne4to777 У зоракса немного другой подход

  • @yamuru22
    @yamuru22 5 ปีที่แล้ว +16

    Видео просто 11/10. Просмотрел курс за один присест на скорости 2х. Хочу отметить, что у Вас очень четкая речь и на такой скорости я могу прекрасно понимать, что Вы говорите. Спасибо большое!

  • @stanislavgerasimov3534
    @stanislavgerasimov3534 5 ปีที่แล้ว +208

    Лайк не глядя, когда понимаешь, что следующие три часа пройдут офигенно

    • @VladilenMinin
      @VladilenMinin  5 ปีที่แล้ว +3

      Приятного просмотра)

    • @igortobert
      @igortobert 5 ปีที่แล้ว

      поддерживаю!

    • @ilikecola378
      @ilikecola378 4 ปีที่แล้ว +6

      3*4 если пробовать и изучать

    • @yoga_zhivivlegkosti
      @yoga_zhivivlegkosti 3 ปีที่แล้ว

      Абсолютно согласна🤩

  • @sergeytikhonov6544
    @sergeytikhonov6544 ปีที่แล้ว +2

    до сих пор лучшее видео про вебпак на ютубе

    • @RuslanNumber1
      @RuslanNumber1 ปีที่แล้ว +1

      Я сам не досмотрел видео от Ulbi и пришел сюда, здесь подача комофртнее. Владилен обьясняет лучше.

  • @ВячеславРютин-о8й
    @ВячеславРютин-о8й 5 ปีที่แล้ว +19

    Влад, твои курсы очень помогают подтягиваться по стэку, а вебпак прямо вишенка на торте) Огромное спасибо)

  • @demimurych1
    @demimurych1 4 ปีที่แล้ว +2

    59:50 *Подгрузить JSON и JavaScript*
    Вероятно следует уточнить этот вопрос, потому как для многих он не до конца прозрачен.
    В самом JS нет ни возможности прочитать файл, ни тем более получить что-то удаленно.
    Этот функционал импортируется разными сторонними API, в зависимости от условий в которых работает JS.
    В случае node это FSReqCallback который является оберткой вокруг uv_fs_* функций из C++
    В случае браузерной среды, можно использовать xhr api с пришедшим ему на смену fetch api.
    А для чтения локальных файлов, вполне уже можно использовать Filesystem Api.
    В случае какого нибудь китайского чайника с js на борту может вообще не быть никаких аналогов.
    Важно всегда проводить эту границу, чтобы вдруг потом не удивляться почему это в Node нет Fetch

  • @whyNotCookies
    @whyNotCookies 4 ปีที่แล้ว +39

    Если пишете в vsCode и вдруг возникнет проблема с MiniCssExtractPlugin
    Error: Automatic publicPath is not supported in this browser
    Получилось победить так:
    test: /\.css$/,
    use: [
    {
    loader: MiniCssExtractPlugin.loader,
    options: {
    publicPath: path.resolve(__dirname, 'dist')
    },
    }
    ,'css-loader'
    ]

    • @annagardt2360
      @annagardt2360 4 ปีที่แล้ว +1

      Спасибо! Мне помог Ваш комментарий!

    • @denideni2633
      @denideni2633 4 ปีที่แล้ว +1

      Брат ты лучший)

    • @АлексейЛоскутников-ю4р
      @АлексейЛоскутников-ю4р 4 ปีที่แล้ว

      Спасибо!

    • @Даниил-л3о1б
      @Даниил-л3о1б 4 ปีที่แล้ว +2

      Две чашечки чая этому господину!

    • @ВасилийБрин-ъ4ъ
      @ВасилийБрин-ъ4ъ 3 ปีที่แล้ว

      ....Да обрящет ищущий!
      Спасибо дружище! Двое суток в ступоре, и ищу ответ на описание MiniCssExtractPlugin именно на этот Error: Automatic publicPath... и т.д. Интернет выдает много, да всё не то. Хорошо что мелькнула мысль заглянуть сюда в этот чат. Огромное спасибо.

  • @JohnDoe-p1y
    @JohnDoe-p1y 4 ปีที่แล้ว +1

    Ну как бы ура. наконец-то вменяемый человек адекватным языком объясняет, что и зачем в нужном объеме для понимания, но не слишком глубоко, чтобы не чувствовать себя полным критином. Спасибо Владилен. Чисто, Ясно, Информативно и можно сразу брать на вооружение.

  • @vladosk-lv6kp
    @vladosk-lv6kp 5 ปีที่แล้ว +23

    Отличный курс, спасибо большое!
    Есть пара вопросов
    1) Как вставлять картинки через img? Путь указывать относительно исходного индекса или от скомпиленого?
    2) Как в папке dist сохранить удобную структуру - папки со скриптами, стилями, картинками и т.п.

    • @nikolakovac65
      @nikolakovac65 4 ปีที่แล้ว

      Нашел решение?

    • @KG-eo1mg
      @KG-eo1mg 4 ปีที่แล้ว

      @@nikolakovac65 Нашел решение?

    • @desltiny2884
      @desltiny2884 4 ปีที่แล้ว

      @@KG-eo1mg Есть решение?

    • @desltiny2884
      @desltiny2884 4 ปีที่แล้ว

      @@nikolakovac65 Не нашёл решения?

    • @SilverStormAndGoldenRain
      @SilverStormAndGoldenRain 4 ปีที่แล้ว

      ​@@nikolakovac65 webpack.js.org/configuration/entry-context/#entry

  • @Civilizer1976
    @Civilizer1976 4 ปีที่แล้ว

    Ура!!! Поздравьте меня! Три дня назад жаловался здесь, что не осилил этот курс и вернусь к нему позже. Но, блин, не тот человек походу. Как так - это первая технология которая мне не покорилась, да ну нафиг - быть такого не может...
    В итоге в пятницу кое-как дождавшись окончания работы, начал искать - в чём дело. В итоге: почистил линукс(а он у меня на виртуалке), пересмотрел ещё другие видео по Вебпаку, более раннего периода, в том числе и Владилена, но более раннее на другом канале, так-же Дмитрия Лаврика, ещё кого-то. Всё повторял, ничего не выходило. Перечитал кучу рекоммендаций. В конце концов научился устанавливать и использовать разные версии node.js, устанавливать более ранние пакеты с помощью npm, переустановил даже VSCode и все расширения. В итоге снова решил повторить этот курс, но уже с параметрами как в этом видео. И в итоге всё заработало как надо. Я рад безмерно! Понятно, что мне ещё рановато до использования этой технологии, но всё-же: а что если вдруг, буду устраиваться, или возьму какой-то заказ, а там требование - Вебпак, вот я облажался - бы. А теперь я уверен что всё сработает. Благодаря данному курсу. Вот какие параметры package.json - блок "devDependencies":
    "devDependencies": {
    "clean-webpack-plugin": "^3.0.0",
    "css-loader": "^5.0.0",
    "csv-loader": "^3.0.3",
    "file-loader": "^6.2.0",
    "html-webpack-plugin": "^4.5.0",
    "style-loader": "^2.0.0",
    "webpack": "^4.41.5",
    "webpack-cli": "^3.3.10",
    "webpack-dev-server": "^3.10.1",
    "xml-loader": "^1.2.1"
    },
    node.js v10.23.0 (lts/dubnium)
    P.S. не получалось с последними версиями. Понятно, что ещё проблемы будут, но главное что WDS работает и в теге строчка с картинкой отображается уже НЕ как путь до неё(как было) а именно маркапом вида
    "img": "47692505d122dbcae490be2492a60b2e.png"

  • @stereogrid
    @stereogrid 5 ปีที่แล้ว +9

    Вот что такое "шок контент"... Владилен, ты просто мега крут

  • @seliyencko7738
    @seliyencko7738 ปีที่แล้ว

    Это один из лучших курсов. Автор делает большой охват материала, давая понять принципы работы Webpack. Материал очень качественный.

  • @MDanshin
    @MDanshin 5 ปีที่แล้ว +43

    Как обычно - лайк не глядя! Уверен, что контет самый лучший, как обычно!

  • @one-zero-dev
    @one-zero-dev 4 ปีที่แล้ว

    Топовый курс! Особенно понравилось, что разобрано много ошибок, которые могут встретиться при настройке кофигурации Webpack
    Добавлю, что при установке некоторых пакетов возникали другие ошибки типа:
    } catch {}
    SyntaxError: Unexpected token {
    Всё дело в том, что у меня более старая версия node. Если кто поймает такую ошибку, поищите на npmjs.com предыдущие версии пакета и поставьте его:
    npm i название_пакета@версия

  • @daurenaidenov1992
    @daurenaidenov1992 3 ปีที่แล้ว +15

    2:43:20 У кого в Webpack 5 не работают динамические импорты вместе с lodash, то вместо
    "import('lodash').then(_ => {})"
    пишем
    "import('lodash').then(({ default: _ }) => {})"

  • @ILDARRKAMALOV
    @ILDARRKAMALOV 2 ปีที่แล้ว +1

    Спасибо большое. Одно из самых дельных видео по Webpack. Правда на 2022 год видео немного устарело, некоторые конфигурации для некоторых плагинов пришлось переписать (это всё очень быстро нагуглилось и проблем не составило) и всё запускается и работает.

  • @imCitRUS
    @imCitRUS 5 ปีที่แล้ว +174

    Давай ESLint) И Jest было бы неплохо :)
    А видео топ! Спасибо)

  • @adil88201
    @adil88201 2 ปีที่แล้ว +2

    0:48:53
    У кого не работает npm run dev или npm run build нужно написать
    "scripts": {
    "dev": "npx webpack --mode development",
    "build": "npx webpack --mode production"
    }
    вместо
    "scripts": {
    "dev": "webpack --mode development",
    "build": "webpack --mode production"
    }

  • @pavel.arepev
    @pavel.arepev 4 ปีที่แล้ว +10

    Если у кого не работает SASS на 2:07:10 : попробуйте переписать вместо
    test: /\.s[ac]ss$/,
    на
    test: /\.(sass|scss)$/,

    • @dangor220
      @dangor220 2 ปีที่แล้ว

      В моем случае помогла следующая строка: test: /\.sass$|scss/,

  • @xqz666
    @xqz666 3 ปีที่แล้ว

    Досмотрел до конца, с моим графиком работы, все посмотреть и попробовать 90% материала ушла почти неделя. Спасибо Автору , он находка для тех кому html, css, изучение js c lernjavascript уже кажется банальностью.

  • @coderslav4505
    @coderslav4505 3 ปีที่แล้ว +30

    Не знаю, как у вас, но у меня file-loader ломает картинку (она не открывается) при работе с CSS (например, при использовании в background-image). Нашел решение: не использовать file-loader :) Оказывается в webpack есть встроенный file-loader. Просто пропишите следующее правило, вместо правила на использования file-loader:
    {
    test: /\.(png|svg|jpg|jpeg|gif)$/i,
    type: 'asset/resource'
    }

    • @hlebhlebowski
      @hlebhlebowski 3 ปีที่แล้ว

      верно, я часа полтора решал эту проблему. и момент в этом видео хватает подобных. все приходилось гуглить... не особо актульное видео.

    • @KaelnsLarien
      @KaelnsLarien 3 ปีที่แล้ว +2

      вебпак у вас 5 версии, а на то время её не было

    • @deniskotov
      @deniskotov 2 ปีที่แล้ว +2

      Реально сработало, спасибо. 3 дня пытался понять, что не так.

    • @romko-romario
      @romko-romario 2 ปีที่แล้ว +2

      Искренне благодарю, помогло! А я-то думаю, в чём беда. Думал, потому, что использую sass-loader, а оно вот что.

    • @tavanix
      @tavanix 2 ปีที่แล้ว +1

      спасибо мужик! а то я прям голову сломал! причем до установки file-loader все работало, и я не сразу понял, что сломалось именно из-за этого.

  • @siarheilabetsik5658
    @siarheilabetsik5658 3 ปีที่แล้ว

    с JQuery будет работать, если вызвать функцию после render React. Но текст должен потеряться при перерисовке.

  • @AlexanderShinigami
    @AlexanderShinigami 2 ปีที่แล้ว +5

    clean-webpack-plugin в пятом вебпаке уже не нужен, можно просто в output прописать настройку clean: true

  • @ЕвгенийВладимирович-ш1с
    @ЕвгенийВладимирович-ш1с 5 ปีที่แล้ว +1

    Владилен, огромнейшее спасибо! Это космос.) Каналу в топ осталось пожелать, а плюсов в карму ты и так дофига заработал; ))

  • @george6514
    @george6514 4 ปีที่แล้ว +9

    1:47:08 У кого выдаёт "Automatic publicPath is not supported in this browser", пропишите в options:
    publicPath: (resourcePath, context) => {
    return path.relative(path.dirname(resourcePath), context) + '/';
    }

    • @ВладимирЧернов-ш8б
      @ВладимирЧернов-ш8б 4 ปีที่แล้ว

      Спасибо за помощь

    • @ЭйЭй-ы1и
      @ЭйЭй-ы1и 4 ปีที่แล้ว +1

      хахахахах, такая же ошибка была, гуглил час, разобрался, хотел написать как решить эту проблему, и вдруг ты тут с таким же решением, ты где был час назад?)

    • @emagcodeshake
      @emagcodeshake 4 ปีที่แล้ว

      Спасибо! ))

  • @weblegko
    @weblegko 5 ปีที่แล้ว

    Красавчик ! Спасибо! Я теперь твой постоянный зритель ) . Очень хорошо излагаешь - респект! Не пропускаю ни одного видоса ))). Webpack очень кстати - в наглядной форме закрыл некоторые пробелы в знаниях. Хотелось конечно еще бы увидеть тут про интеграцию с browsersync и адаптацию webpack для работы в связке с php ( в том числе и hmr), например при разработке wordpress-темы. Но это мои нескромные хотелки. А ваще, все твои курсы - это бомба!

  • @ДенисАндреев-ч9к
    @ДенисАндреев-ч9к 4 ปีที่แล้ว +19

    Спустя 3ч. "Ура, мы закончили с базой вебпака"
    ААААААААААААА

  • @kalychka
    @kalychka 4 ปีที่แล้ว

    Владилен, наткнулся на твой канал на днях, как раз надо было настраивать вебпак, скажу вот что: ты единственный, кто смог изложить материал так, что понятно абсолютно все, благодаря тебе я смог настроить все правильно. У тебя актуальная информация по вебпаку. Единственное, чего не хватило - это как расположить файлы в папке dist по категориям, структурировать, но думаю в документации я найду ответ. Спасибо тебе, я никогда не пишу комментарии, но это отдельный случай!

  • @nikita7978
    @nikita7978 5 ปีที่แล้ว +8

    Спасибо, из всех кого я когда-либо смотрел, твои видео самые понятные и их приятно смотреть

  • @Angelica-mv9gg
    @Angelica-mv9gg 3 ปีที่แล้ว

    спасибо за видео! для тех у кого не пашет hot dev-server, даже после обновления команды, в package.json: "start": "cross-env NODE_ENV=development webpack serve --mode development", в webpack.config.js: devServer: {
    port: 8080, // любой порт
    open: true,
    watchOptions: {
    poll: true,
    ignored: "/node_modules/"
    },
    }, и еще в module.exports добавить target: 'web'. Последняя настройка обязательна если стоит "browserslist" в package.json. Пока что они несовместимы без этого, по крайней мере, у меня ничего не вышло

  • @maximminchenko7633
    @maximminchenko7633 5 ปีที่แล้ว +7

    Уфффф) Просто лайк не глядя! UPD: было бы круто разобрать и Eslint

  • @АлексейЛинкер-м7д
    @АлексейЛинкер-м7д 4 ปีที่แล้ว

    Владилен, спасибо за видео. Все понятно, без лишней воды. Это мое первое видео на твоем канале, теперь знаю чем заняться на выходных. Жду с нетерпением видео по ESlint. А то толковых гайдов по ниму днем с огнем. Ты реально круто доносишь информацию. Еще раз спасибо.

  • @kotovadana
    @kotovadana 4 ปีที่แล้ว +3

    Спасибо огромное за видео! Повторяла все, о чем ты рассказывал, не осталось ни одного вопроса, все максимально понятно!) То, что ты делаешь - нереальный труд и огромная инвестиция в будущих программистов)) Не представляю сколько времени тебе заняло научиться так четко и легко объяснять сложные вещи...Спасибо большое!))

  • @Max-kr4ie
    @Max-kr4ie 4 ปีที่แล้ว

    Наконец полностью просмотрел данное видео. Это же колоссальная, великолепная работа. Если до видео смотришь на конфиг вэбпака: ээ пойду ка я отсюда, что то пугающе монструозное, вдруг что то сломаю. После видео: о так надо поправить это и это и я получу нужный результат. Еще раз спасибо.

  • @1604MafiaBest
    @1604MafiaBest 4 ปีที่แล้ว +10

    Итак судя по всему в новой версии webpack на 26/11/20 нельзя запустить webpack-dev-server --open, во первых теперь команда выглядит так "start": "webpack serve", а для дополнительных опций, таких как открытие окна браузера переходим в конфиг и в module.exports{devServer: {
    open: true}}

    • @artthemad
      @artthemad 4 ปีที่แล้ว

      спасибо тебе!!! помогло!!!

  • @НиколайПугачев-л2в
    @НиколайПугачев-л2в 4 ปีที่แล้ว

    1:57:00 - для этих целей не обязательно создавать функцию: в объекте optimization есть поле minimize, куда мы можем передать флаг и в случае false минификация происходить не будет. Т.е. можно сделать так:
    optimization: {
    minimize: isProd,
    minimizer: [
    new OptimizeCssAssetsPlugin(),
    new TerserWebpackPlugin()
    ]
    }
    Но т.к. мы указываем мод, в котором запускаем вебпак, то даже явное указание флага не требуется: вебпак по дефолту не минифицирует в девелопмент режиме. (webpack.js.org/configuration/optimization/#optimizationminimize)

  • @eGusevWeb
    @eGusevWeb 4 ปีที่แล้ว +3

    Когда шёл на TH-cam за обучалками по Webpack - прямо таки молился, чтоб у Владилена Минина был такой контент ) пушка! Спасибо!

  • @ITWork-m8j
    @ITWork-m8j 6 หลายเดือนก่อน

    Клёвый курс, мне раньше вебпак казался сложным и я не понимал зачем он нужен, но теперь мое мнение изменилось и вебпак мне кажется удобным и полезным

  • @gladiatorrussia
    @gladiatorrussia 4 ปีที่แล้ว +26

    Пожалуйста сделай курс по Webpack 5

    • @timofeysyr5163
      @timofeysyr5163 3 ปีที่แล้ว

      а в видео разбирался лоадер для pug?

    • @timofeysyr5163
      @timofeysyr5163 3 ปีที่แล้ว

      просто лень искать

    • @gladiatorrussia
      @gladiatorrussia 3 ปีที่แล้ว

      @@timofeysyr5163 нет

  • @rustamtishkov2479
    @rustamtishkov2479 4 ปีที่แล้ว

    Чел ты лучший, я неделю назад много не понимал в js. На протяжение этой недели я смотрел твои видосы и с каждым днем js становился все понятнее и понятнее, щас досмотрю этот видос и начну vue. Тупа лучший, щас специально всем видосам лайки поставлю, даже те которые не смотрел

  • @str1ve450
    @str1ve450 2 ปีที่แล้ว +4

    Владилену большое спасибо за видео, а для тех, у кого webpack 5 версии или более, и при установке optimize-css-assets-webpack-plugin ошибки, устанавливайте css-minimizer-webpack-plugin

  • @chewed2024
    @chewed2024 2 ปีที่แล้ว

    Контент огонь!
    Я все писал под webpack5 -> немного гуглежки, немного чтения офф доки, и все завелось))
    Это наверное даже полезнее было чем просто посмотреть видяшку и повторить за автором))
    Автору респект, продолжай в том же духе)

  • @fractonart7500
    @fractonart7500 5 ปีที่แล้ว

    Спасибо, за Работу, Владилен. Решил изучать реакт нэтив встретил этот канал. Купил курс и сэкономил очень много времени в изучении хотя никак не выберу время дойти екго до конца. На мой взгляд здесь самый качественный контэнт по фронтенду в рунете. Еще раз Спасибо!

  • @ГригорийСтепенко-ы3в
    @ГригорийСтепенко-ы3в 3 ปีที่แล้ว

    Владилен, спасибо большое! Давно слежу за вашей работой и подписан, понадобилось вспомнить и сразу подумал что здесь найду лучшее и не ошибся!

  • @ДаниилСаркисян-б4д
    @ДаниилСаркисян-б4д 4 ปีที่แล้ว

    Тупо лучший ютубер!!! Пишу любой запрос по js и открывается именно твое видео, есть просто все что нужно! Респект

  • @ПиратСлавный
    @ПиратСлавный 3 ปีที่แล้ว +63

    Для тех кто смотрит в 2021 hmr больше прописывать не надо!

    • @dyscyber
      @dyscyber 3 ปีที่แล้ว +7

      @@dasi4301 у мамы спросил. А как ты думаешь где?) Может быть на официальном сайте webpack, который регулярно обновляется?)

    • @dyscyber
      @dyscyber 3 ปีที่แล้ว +5

      @@dasi4301 да не "агрюсь" я. Просто вопросы найглупейшие. Понимаю теперь, что ты ещё подросток, судя по твоей фразе "агриться", однако пойми - в прогинге и разработке приложений нечего делать, если человек не умеет самостоятельно искать информацию, ибо это будет составлять минимум 70% всей твоей работы.

    • @PWBastille
      @PWBastille 3 ปีที่แล้ว +4

      щастья, здоровьечка тебе, добрый путник, ты сэкономил мне кучу времени и нервов)

  • @kotbarsik9613
    @kotbarsik9613 2 ปีที่แล้ว

    Спасибо за материал! Смотрел видео, попутно читая документацию, что, как понимаю из комментов, делал не зря, ибо за 2 года в вебпаке появились некоторые изменения

  • @egrpavlov2694
    @egrpavlov2694 3 ปีที่แล้ว

    Ого, оч качественно классно информативно. Не хотелось как-то начинать с webpack`ом разбираться, а оказалось, что эти знания супер полезные

  • @romanliapkin5174
    @romanliapkin5174 4 ปีที่แล้ว +11

    На конец то бл*ь, нормальное объяснение.jpg .
    Не очень люблю видео гайды, не удобно отматывать и искать что то повторить, но нормальных текстовых туториалов по вебпаку нет, от слова совсем.
    Но ваш туториал прям путеводная звезда! Хоть кто то в полном объеме объясняет что происходит, и что нужно делать. Спасибо за огромный труд.

  • @hollow.one.w
    @hollow.one.w 3 ปีที่แล้ว

    как же он хорош...
    чел, ты настоящий учитель!
    материал очень хорошо разжеван, осталось только переварить

  • @Профилактика-е3к
    @Профилактика-е3к 5 ปีที่แล้ว +16

    Владилен круто будет увидеть ролик по eslint настроеный и видео по тестам на jest

  • @nikolai4100
    @nikolai4100 4 ปีที่แล้ว +2

    Владилен, спасибище! Я на ваших видео прям прокачася по многим темам! Патерны, вебпак, промисы, фетч. все огонь!

  • @Д822
    @Д822 3 ปีที่แล้ว +3

    С развитием вашего канала все директора платных курсов плачут и с валерьянкой "ждут" новых выпусков) спасибо за ваш труд!

  • @romko-romario
    @romko-romario 2 ปีที่แล้ว

    Как всегда, супер: сложное становится простым, лучший туториал, чтобы начать осваивать вебпак. Как когда-то начал с Владиленом учить фронтэнд, так и часто делаю это сейчас, но теперь чтобы побыстрее добраться до миддла.

  • @danko5678
    @danko5678 3 ปีที่แล้ว +3

    Сейчас file-loader для картинок и шрифтов не нужен, просто прописываете в конфиге test: /\.(?:ico|gif|png|jpg|jpeg)$/i, type: 'asset/resource', и test: /\.(woff(2)?|eot|ttf|otf|svg|)$/, type: 'asset/inline', соответственно

  • @oleksandrsavych4526
    @oleksandrsavych4526 4 ปีที่แล้ว

    Давно хотел разобраться с кучей ключей-конфигов для Webpack и очень рад, что нашел это видео! Спасибо большое, Владилен!

  • @borislobanov7896
    @borislobanov7896 4 ปีที่แล้ว +4

    Владилен, твои туториалы - просто огонь, спасибо тебе большое за твою работу, ты прям нереально помогаешь к собесам готовиться!

  • @СергейАлександров-я4т
    @СергейАлександров-я4т 5 ปีที่แล้ว

    Автору респект. Хорошее видео для новичка. Показаны все этапы сборки приложения. Не открыл для себя ничего нового, но жалею, что не было подобного видео когда начинал изучать webpack.

  • @aviaavia9147
    @aviaavia9147 3 ปีที่แล้ว +6

    Для тех у кого проблемы с установкой optimize-css-assets-webpack-plugin, установите его вот таким способом:
    1) npm i -D optimize-css-assets-webpack-plugin@4.0.0
    2) npm audit fix --force
    И тогда в packege.json появится этот плагин последней версии

  • @СашаЛьвович-ж2д
    @СашаЛьвович-ж2д 4 ปีที่แล้ว

    Переслушивал учебный материал по нескольку раз, и каждый раз находил пропущенные мимо ушей полезности. Каждый комментарий по делу! Выражаю огромное уважение Владилену. Спасибо!

    • @VladilenMinin
      @VladilenMinin  4 ปีที่แล้ว

      В этом видео и я правда очень много сконцентрировал)

  • @aleksgavrilovcoach
    @aleksgavrilovcoach 4 ปีที่แล้ว

    Очень подробно и хорошо всё разжевано и в рот положено)) то что доктор прописал, уже не первый раз пытался разобраться с вебпаком, но до этого все было безуспешно, спасибо от души!!!

  • @johnd1431
    @johnd1431 5 ปีที่แล้ว +5

    жжошь Влад, 3 часа информативного контента!

    • @VladilenMinin
      @VladilenMinin  5 ปีที่แล้ว +1

      Сам удивился, что так много подготовил)

    • @johnd1431
      @johnd1431 5 ปีที่แล้ว +1

      Владилен Минин я не успеваю твои старые ролики пересмотреть, пока штудирую старое - выходит новое. Вот это уровень

    • @VladilenMinin
      @VladilenMinin  5 ปีที่แล้ว +2

      @@johnd1431 И мы только начинаем)

  • @vitalytochenyy481
    @vitalytochenyy481 3 ปีที่แล้ว

    Это просто нереально крутой и нереально подробный курс по webpack!!! Спасибо владилен!! До конца ещё не досмотрел, однако все проблемы уже решил с вашей помощью!!! Обязательно досмотрю до конца, чтобы подчерпнуть ещё кучу разных фич!!

  • @brabus765
    @brabus765 2 ปีที่แล้ว +6

    25:24 npx webpack так компилируется сейчас

  • @garikmelqonyan9130
    @garikmelqonyan9130 4 ปีที่แล้ว +3

    Thank you once more, Vladilen for this awesome tutorial. As I have said in my previous comments, your tutorials are of high value for those who want to learn something new. They stand out with null unnecessary talk and much useful info explained step by step. In this video, it became clear to me how js frameworks(react, vue) work and why are there so many files.
    Thank you so much because to sit down and figure out all these things would be really hard for one and you have done it for your auditory.

  • @pliaronstudio5149
    @pliaronstudio5149 2 ปีที่แล้ว +2

    Для тех у кого не работет webpack-dev-server (автообновление):
    В файле package.json команда start должна быть такой:
    "start": "webpack serve --open"
    В файле webpack.config.js настройки devServer должны быть такие:
    devServer: {
    port: 4200,
    watchFiles: ["./src/*"],
    },

    • @mariakhabian2744
      @mariakhabian2744 ปีที่แล้ว

      Большое спасибо за рабочее решение! =)

  • @MC-sn7yk
    @MC-sn7yk 4 ปีที่แล้ว +11

    Если вдруг возникнет проблема с MiniCssExtractPlugin
    Error: Automatic publicPath is not supported in this browser
    Получилось победить так:
    test: /\.css$/,
    use: [
    {
    loader: MiniCssExtractPlugin.loader,
    options: {
    publicPath: path.resolve(__dirname, 'dist')
    },
    }
    ,'css-loader'
    ]

    • @artthemad
      @artthemad 4 ปีที่แล้ว +1

      спасибо большое!

    • @dmitriysannikov6122
      @dmitriysannikov6122 4 ปีที่แล้ว +1

      Кстати у меня в таком случае не грузилас картинка. publicPath: '/dist Изменил на такое,и все работает
      '

    • @artthemad
      @artthemad 4 ปีที่แล้ว +1

      @@dmitriysannikov6122 хм, у меня тоже была ошибка с подгрузкой изображений , но я думал на file-loader, а в итоге просто костылём всё решил. Писал background-image не в css файле, а в переменной в react и там в файле добавлял уже эту переменную к style блока . Надо будет проверить ваш вариант, спасибо.

    • @ЭйЭй-ы1и
      @ЭйЭй-ы1и 4 ปีที่แล้ว +3

      если не грузятся шрифты и картинки, то вот так:
      {
      test: /\.css$/,
      use: [
      {
      loader: MiniCssExtractPlugin.loader,
      options: {
      publicPath: (resourcePath, context) => {
      return path.relative(path.dirname(resourcePath), context) + '/';
      },
      },
      },
      'css-loader',
      ],
      },

    • @alexbekar6978
      @alexbekar6978 3 ปีที่แล้ว

      @@ЭйЭй-ы1и Спасибо)

  • @duce201
    @duce201 5 ปีที่แล้ว

    Такое классное видео! Наконец-то начал понимать для чего нужен webpack и как он работает! Спасибо огромное за труд!!!

  • @ДмитрийЗамулин-п6и
    @ДмитрийЗамулин-п6и 3 ปีที่แล้ว +3

    У кого не работает webpack-dev-server, в конфиге нужно указать следующее:
    devServer: {
    open: true,
    hot: true,
    port: 'auto',
    static: {
    directory: './src',
    watch: true
    }
    }
    на январь 22 года всё работает

  • @filippkotenko851
    @filippkotenko851 4 ปีที่แล้ว +1

    Как всегда приятно обучаться по твоему контенту, все четко, грамотно и понятно. Спасибо Владилен.

  • @TemkaMineCraft32rus
    @TemkaMineCraft32rus 3 ปีที่แล้ว +127

    1:09:00 ! Для тех людей, у которых создаётся лишняя картинка, нужно в конфиге вместо use: ['file-loader'] написать type: 'asset/resource'

    • @Космик-ъ3е
      @Космик-ъ3е 3 ปีที่แล้ว

      Работает, а почему так ?

    • @user-r3t
      @user-r3t 3 ปีที่แล้ว +4

      ​@@Космик-ъ3е webpack 5 версии решил сделать их из коробки, для упрощения работы с другими созависимыми модулями.

    • @velsh3946
      @velsh3946 3 ปีที่แล้ว

      спасибо!

    • @АртемЕльденев-ш1к
      @АртемЕльденев-ш1к 3 ปีที่แล้ว

      Спасибо:)

    • @lalathealter6513
      @lalathealter6513 3 ปีที่แล้ว

      Спасибо

  • @alexandrmerser8443
    @alexandrmerser8443 3 ปีที่แล้ว

    Отличный курс! Помог разобраться с базовыми вещами, и теперь не страшно смотреть в конфиги webpack-а на проектах) Большое спасибо, Владилен, ты большой молодец!

  • @lockd0wnll178
    @lockd0wnll178 5 ปีที่แล้ว +105

    Я человек простой, вижу твои видосы - сначала лайкаю, а потом смотрю xd

    • @VladilenMinin
      @VladilenMinin  5 ปีที่แล้ว +5

      Классный алгоритм)

    • @АлександрКулик-м7я
      @АлександрКулик-м7я 5 ปีที่แล้ว +1

      Аналогично.

    • @АлександрКулик-м7я
      @АлександрКулик-м7я 5 ปีที่แล้ว +7

      Я вообще как зашел на канал завис по полной. Не могу оторваться.

    • @beefeater5427
      @beefeater5427 5 ปีที่แล้ว

      TH-cam плохо относится в видео, которые лайкают до просмотра. Поэтому посмотри хотя бы до половины перед лайком

    • @Женя-и5б3я
      @Женя-и5б3я 5 ปีที่แล้ว

      @@VladilenMinin ну вообще, говорят что ютьюб не засчитывает лайк, если сначала его ставишь, а потом смотришь видос. Так что в алгоритме баг завёлся)

  • @ХиомиМиПад
    @ХиомиМиПад 4 ปีที่แล้ว

    Влад, поздравляю тебя со 100к подписчиками! Ты делаешь колоссальную работу для огромного IT коммьюнити(В часности frontend и bakcend) и помогаешь многим понять сложные вещи, что невероятно классно. Продолжай также, пожалуйста, многие будут тебе благодарны:)

  • @aprinciple9559
    @aprinciple9559 4 ปีที่แล้ว +27

    Для CopyWebPackPlugin
    plugins: [
    new CopyPlugin({
    patterns: [
    { from: 'source', to: 'dest' },
    { from: 'other', to: 'public' },
    ],
    }),
    ],

    • @georgepetrosyan4589
      @georgepetrosyan4589 4 ปีที่แล้ว +2

      da ia toje na etom poka zastral, potom polez na oficialku ona zakrita vremeno iza bezporadkov v USA, polez cherez cherez nashel etot block sdelal, zarabotalo. Pochustvoval sebia BOGOM WEBA :D :D :D

    • @dossh429
      @dossh429 4 ปีที่แล้ว

      Время 1:42:13

    • @maxzhukov5525
      @maxzhukov5525 4 ปีที่แล้ว +6

      Для тех, кто делает так же как в уроке:
      new CopyWebpackPlugin({
      patterns: [
      { from: 'favicon.ico', to: '../dist' },
      ],
      }),

    • @saint7794
      @saint7794 4 ปีที่แล้ว +1

      Или поставить версию copy-webpack-plugin ^5.1.1

    • @georgepetrosyan4589
      @georgepetrosyan4589 4 ปีที่แล้ว

      @@saint7794 nu esli eto ne poslednaia versia kotoryiu vi ukazivaete? To dumau luche stavit poslednuiu. A princip privazki ne imeet znachenie. Ved video snimalos za dolgo do vixoda novoi versii plugina)))

  • @ivan_sukhachev
    @ivan_sukhachev 4 ปีที่แล้ว

    Большое тебе человеческое спасибо, мужик!!
    Очень полезно и информативно.
    Нет воды, приятно слушать, подача материала четкая и внятная.
    Это большая и качественная работа.
    Отблагодарил на ЯД, еще раз спасибо!

  • @nick_stelmakh
    @nick_stelmakh 5 ปีที่แล้ว +62

    То что нужно) будет что то о Docker-е ??

    • @dizelvinable
      @dizelvinable 5 ปีที่แล้ว

      Докер - это же бекенд. А так - было бы очень интересно тоже посмотреть.

    • @Levelord92
      @Levelord92 5 ปีที่แล้ว +3

      @@dizelvinable И что, что бэкенд?) Автор так же учит ноде

    • @dizelvinable
      @dizelvinable 5 ปีที่แล้ว

      @@Levelord92 ааа, тогда супер) Надеюсь, скоро будет) А то разные видео про докер смотрел, но всё равно остаётся много вопросов.

    • @dmitryfokin5205
      @dmitryfokin5205 5 ปีที่แล้ว +4

      @@dizelvinable ну не совсем для бэк. можно использовать и для развертывания разных окружений разработки фронт. ну и локально несколько бэков иметь, для разработки под них фронт - тож актуально

    • @dizelvinable
      @dizelvinable 5 ปีที่แล้ว

      @@dmitryfokin5205 Ясно, спасибо)

  • @zulagwido1309
    @zulagwido1309 3 ปีที่แล้ว +1

    Наконец-то нормальный курс по Webpack! Автору благодарность! :-) Конечно, хорошо бы ещё одно видео по последней версии... много поменялось.

  • @uzver3787
    @uzver3787 3 ปีที่แล้ว +4

    01:52:06 Если проблема
    use: [
    {
    loader: MiniCssExtractPlugin.loader,
    options: {},
    },

  • @wwiiktor
    @wwiiktor 4 ปีที่แล้ว

    Вот я заметил, что именно видео курсы про веб инструменты хорошо усваиваются , но что то потяжелее конечно эффективнее смешивать с книжным форматов.
    Но автору огромный респект, ознакомиться с новым инструментом так легко и не принужденно это определенно талант исполнителя играет роль. Получу зп. обязательно поддержу ваш канал! Успехов в учебе всем!(:

  • @ОлегЕ-и7х
    @ОлегЕ-и7х 4 ปีที่แล้ว +4

    Владилен, (пользуясь случаем) огромное спасибо за курс!!
    Остался один непонятный момент:
    на этапе (45:55), когда мы настроили webpack, чтобы он автоматом подключал js-файлы в шаблоне html,
    у нас фактически поломался наш первоначальный шаблон...
    Т.к. в первоначальном шаблоне у нас analytics.[contenthash].js подключался в хедере, а не в конце body...
    Предположим нам это критически важно. Как сделать так, чтобы analytics.[contenthash].js (т.е. именно с хешем в названии) отдельно подключался в хедере?

    • @SNSDfOu
      @SNSDfOu ปีที่แล้ว

      разобрался?

  • @669pain
    @669pain 4 ปีที่แล้ว

    Самый полный и понятный ролик по вебпак. От души, всех благ тебе

  • @Профилактика-е3к
    @Профилактика-е3к 5 ปีที่แล้ว +8

    вот это огонь, СПАСИБО!

  • @ВладиславП-д7л
    @ВладиславП-д7л 5 ปีที่แล้ว

    Благодарю. Все доступно и понятно, без лишней воды. Просмотрел на одном дыхании. Краткий конспект на 3 страницы вышел.

  • @annagardt2360
    @annagardt2360 4 ปีที่แล้ว

    Владилен, спасибо за урок! Несмотря на то, что некоторые параметры уже записывать немного по другому, видео очень помогло. Урок классный, понятно изложен материал!!!

  • @armer2001
    @armer2001 4 ปีที่แล้ว +6

    Владлен, спасибо за материал. Очень помогло в изучении webpack. Сегодня проработал с учетом Webpack 5 и изменений в плагинах. Форкнул вашу сборку и ввел изменения. Вот что получилось в результате: github.com/Armer7/webpack-2020

    • @beramaks
      @beramaks 3 ปีที่แล้ว +1

      Armen Спасибо!!!

    • @Amourphys
      @Amourphys 3 ปีที่แล้ว +2

      Большое спасибо вам, вы мне помогли победить одну проблему с babel

    • @ИринаШабулдаева-л6в
      @ИринаШабулдаева-л6в 3 ปีที่แล้ว

      Спасибо, воспользовалась вашим кодом)

  • @СвириденкоВолодимир-х1с
    @СвириденкоВолодимир-х1с 2 ปีที่แล้ว +1

    Люди, у которых в 2:41:35 возникает вот такая ошибка:
    TypeError: Cannot read properties of undefined (reading 'getFormatter') - нужно установить npm пакет вот такой версии "eslint": "^7.13.0" и запустить заново

  • @alexsoft7073
    @alexsoft7073 3 ปีที่แล้ว +14

    Владилен, сделай пожалуйста курс на Webpack 5, много чего уже поменялось
    Лайк, чтобы в топ

    • @sanlaynx
      @sanlaynx 3 ปีที่แล้ว

      а какой смысл? чуть меняется синтаксис , а в целом в данном видео понятна вся суть и механика пакета

  • @MaxYanov
    @MaxYanov 4 ปีที่แล้ว +1

    Как всегда супер!
    Друзья, давайте поможем Владилену с продвижением,
    он трудится, хорошо объясняет, уверен вы согласитесь со мной что пришло время нам его отблагодарить.
    Делитесь его видео в соцсетях. Я уже.