The most important thing about wepback - merge. Handling images; html and static files.

Поделиться
HTML-код
  • Опубликовано: 10 фев 2019
  • this will be the most important webpack video. Let's process all possible files, pictures (images) and static files using the copy-webpack-plugin plugin. We will also include Webpack-merge - to split the dev and build config. Set up a map for styles. Let's make livereload for html.
    --------
    🚀 Thanks to your support, new videos are coming out:
    tocode.ru/support/
    --------
    --------
    New course on view 3 - tocode.ru/r/v3-ywd
    Enter promo code "Webpack" and get a fat discount :)
    --------
    ► VK group, where I publish various news:
    tocoderu
    📘 Article from the video + sources: vk.cc/9Ksbmf
    Repository: github.com/vedees/webpack-tem...
    --------
    Questions about the video, ask in the comments, and we can chat in groups:
    ► Add as a friend - id261337424
    ► VK group - tocoderu
    Discord - / discord
    Telegram - t.me/jackcoder

Комментарии • 263

  • @konstantinkkk8397
    @konstantinkkk8397 5 лет назад +48

    продолжай снимать видео по вебпаку!! он для меня все еще странный, уже 2й день читаю документацию и пытаюсь разобраться. У тебя пока что лучший туториал что я встречал на русских и англ источниках.

    • @tocode
      @tocode  5 лет назад +4

      спасибо, конечно еще будет видео 3-4 точно)

    • @MsAkellla
      @MsAkellla 4 года назад +3

      Так сказал, как-будто 2 дня это нереально долго. На каждую новую технологию уходит немало времени. Тут точно не стоит надеяться на то, что за несколько часов разберешься.

    • @user-ve1pf8gd6b
      @user-ve1pf8gd6b 4 года назад

      согласен на 100%

  • @inzoddex8312
    @inzoddex8312 4 года назад +15

    Формат времени не важен, главное, что объясняешь хорошо.

  • @dmitrykarpovich186
    @dmitrykarpovich186 5 лет назад +20

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

    • @tocode
      @tocode  5 лет назад

      Спасибо, учту!

  • @Ratibor_Gradov
    @Ratibor_Gradov 5 лет назад +1

    Спасибо, и по времени и по качеству уроков, всё отлично!

  • @VASOTELVI
    @VASOTELVI 4 года назад

    Большое спасибо! Очень доходчиво.
    Формат времени в видео не важен. Важен контент и так как это не стрим, то видео можно смотреть как частями, так и пересматривать нужные куски.
    Успехов в несении света знаний в массы!

  • @WEBSTART-LIVE
    @WEBSTART-LIVE 4 года назад

    какой отличный и подробный разбор. Лучшее видео по настройке шаблона!

  • @hevill7108
    @hevill7108 5 лет назад +5

    40 минут вообще идеально)

  • @polivodichka
    @polivodichka 2 года назад +1

    Просто лучший. Не занудно и очень понятно👍❤

  • @moskvaaa
    @moskvaaa 5 лет назад +1

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

    • @tocode
      @tocode  5 лет назад

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

  • @aimanptz
    @aimanptz 5 лет назад +2

    Все доступно и разборчиво, но жутко обломно ожидать следующее видео несколько недель. Спасибо!

    • @tocode
      @tocode  5 лет назад

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

  • @takeshiom8950
    @takeshiom8950 5 лет назад +1

    Спасибо за понятное и лаконичное объснения... Самый лучший курс по webpack.

    • @tocode
      @tocode  5 лет назад

      Спасибо!

  • @astrowander
    @astrowander 4 года назад +19

    На данный момент copy-webpack-plugin будет выдавать ошибки, если объекты не помещены в массив "patterns".
    Вот валидная запись:
    new CopyWebpackPlugin({
    patterns: [
    { from: `${PATHS.src}/${PATHS.assets}img`, to: `${PATHS.assets}img` },
    { from: `${PATHS.src}/${PATHS.assets}fonts`, to: `${PATHS.assets}fonts` },
    { from: `${PATHS.src}/${PATHS.assets}`, to: "" }
    ]
    })

    • @MerryAkiyamaMio
      @MerryAkiyamaMio 4 года назад

      Столкнулась с подобной проблемой, спасибо за решение

    • @astrowander
      @astrowander 4 года назад

      @@MerryAkiyamaMio пожалуйста)
      Рад что кому то помог :)

    • @kyoto5407
      @kyoto5407 4 года назад

      @@astrowander и почему я твой комментарий не заметил ))))

  • @user-ll6zy9xt5l
    @user-ll6zy9xt5l 5 лет назад +1

    Jack, спасибо, продолжай. Собрал в голове как надо, у тебя лучшее по W4 из того, что удалось найти

    • @tocode
      @tocode  5 лет назад

      Спасибо, конечно)

  • @zobzn1
    @zobzn1 2 года назад

    Автору спасибо за работу. Для себя отметил, что видео не для новичков. Предполагается понимание многих технологий.

  • @proprosh
    @proprosh 5 лет назад +2

    Крутейшие видосы!)) Отлично воспринимается)

  • @xalinanton
    @xalinanton 5 лет назад +1

    Импонирует подача материала, продолжай в том же духе!

    • @tocode
      @tocode  5 лет назад

      спасибо, конечно)

  • @alexbol903
    @alexbol903 5 лет назад

    Большое спасибо за видео! Мне кажется оптимальное видео примерно по 15 мин)

  • @llssk6379
    @llssk6379 4 года назад

    За сделанные статьи, респект и уважуха, думаю будет удобно!

  • @kate_m.a.s
    @kate_m.a.s 5 лет назад +1

    Огромное спасибо за такую качественную подачу информации!

    • @tocode
      @tocode  5 лет назад

      спасибо за отзыв!

  • @skyfox9861
    @skyfox9861 5 лет назад +1

    Это было супер круто! Спасибо за видео, очень полезно, разобрался с webpack 'ом, а детали уже можно самому гуглить) На счет формата, то это и не важно, главное, чтобы все было целостно и последовательно, а продолжительность это не проблема, можно ведь на ппузу поставить или перемотать! Нще раз большое спасибо=)

    • @tocode
      @tocode  5 лет назад

      Спасибо за отзыв, учту)

  • @userbilas
    @userbilas 4 года назад

    Спасибо за видео, крайне информативно и познавательно, так как мало кто на данной площадке делает разбор полного пака под разработку, что в итоге будет использовать. По продолжительности видео скажу что и так норма, так как тут больше важно на сколько ты открываешь данный вопрос, а на время уже всё равно. Понимание приходит, вот что главное. И данный подход в новинку, касательно путей. Но сколько смотрю, что в этом мире кода, сколько людей = столько и решений, невозможно сказать что оно хуже или лучше, так как решает задачу на которую было запрограммировано.

  • @taraslysenko9547
    @taraslysenko9547 4 года назад

    Очень классное видео! Все отлично понятно. Спасибо

  • @mtown331
    @mtown331 5 лет назад +1

    Очень круто, спасибо тебе! Продолжай в том же духе!

    • @tocode
      @tocode  5 лет назад +1

      Аркадий Савенко спасибо)

  • @wlevchenko5721
    @wlevchenko5721 5 лет назад +3

    Красавчий! Только посмотрел второй урок и тут третий!

    • @tocode
      @tocode  5 лет назад +1

      Спасибо!

  • @de17eon50
    @de17eon50 3 года назад

    15-20 мин оптимально. Посмотрел и сразу пробуешь не откладывая на потом и не нужно по видео лазить

  • @irvinscasull2334
    @irvinscasull2334 5 лет назад +1

    Около 40 минут самое то, в любом случае всегда можно поставить х1,25 скорость :) А видео отличное как всегда, заслуженный лайк

    • @tocode
      @tocode  5 лет назад

      спасибо)

  • @user-ch4bg7pr7i
    @user-ch4bg7pr7i 5 лет назад

    Спасибо за курс, пожалуйста продолжай

  • @AnotherSapiens
    @AnotherSapiens 5 лет назад +1

    Низкий поклон!)

  • @user-wm6gn2nr3u
    @user-wm6gn2nr3u 3 года назад

    Ты красавчик, спасибо тебе! Я за день въехал в webpack! Ещё и сборка готовая👍👍👍 Лови поддержку 👍👍👍 (@t)

  • @sergsagan
    @sergsagan 4 года назад

    Отличное видео даже для не новичка (45 мин оно самое для восприятия)

  • @lvl-sp2il
    @lvl-sp2il 5 лет назад +2

    Круто, спасибо). Было бы классно, если бы видео чаще выходили чем раз в месяц. Я уже "присел" на твою конфигурацию, и у меня ломка начинается, пока ждёшь, что ж там Jack нам нового предоставит =) Понятное дело, что на это надо время, но так гляди скоро Webpack снова обновится)

    • @tocode
      @tocode  5 лет назад

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

    • @tocode
      @tocode  5 лет назад

      а 5 версия уже вышла, но она в альфе, так будет обновление до 5 как только будет полноценный резиз

  • @user-ig2on9mb3r
    @user-ig2on9mb3r 5 лет назад

    Спасибо. Полезные видео!

  • @dmitriysheyko1035
    @dmitriysheyko1035 4 года назад +1

    чувак, спасибо ты мне очень помог

  • @v.shelelo446
    @v.shelelo446 5 лет назад +1

    Спасибо! Хорошо обясняешь =)

    • @tocode
      @tocode  5 лет назад

      Volodymyr Shelelo спасибо)

  • @sergiibondarenko7493
    @sergiibondarenko7493 5 лет назад +1

    Спасибо за видео :)

  • @vedegis
    @vedegis 5 лет назад +3

    Жалко коржа.. Я обычно смотрю параллельно повторяя. Выходит 40 минут видео умноженное на х1.5 из-за пауз. Это время я компенсирую смотря на х2 скорости (но с твоими даже х1.5 не получается ставить - это большой плюс). Поэтому 40 минут видео это оптимально. Спасибо за видео, правда круто.

    • @tocode
      @tocode  5 лет назад

      Отлично и главное конструктивно, приму к сведенью! спасибо!

  • @DanilLukyanenko-qc8sf
    @DanilLukyanenko-qc8sf 5 лет назад +5

    Лучший канал на тему Webpack в ру сегменте!
    Молодчина, так держать!

    • @tocode
      @tocode  5 лет назад

      Спасибо! 👍

  • @stanislav5846
    @stanislav5846 4 года назад +1

    Спасибо Бро Все супер

  • @user-jt1xg1ez5m
    @user-jt1xg1ez5m 4 года назад

    спасибо за знания!

  • @maktor7697
    @maktor7697 4 года назад +1

    Спасибо огромное, все самое полезное. Надо звать тебя Seniore webpack сustomizer :D. Если бы еще react добавил, было бы идеально.

    • @tocode
      @tocode  4 года назад +1

      да, будет, по реакту уже записываю видео)

  • @gromniki
    @gromniki 5 лет назад +1

    Великолепная серия уроков по Webpack, Евгений. Продолжай в том же духе. Если есть возможность, расскажи про оптимизацию картинок, чистку .svg от мусора, и было бы неплохо узнать как собирать .php файлы. Или у них тот же принцип, что и у .html?

    • @tocode
      @tocode  5 лет назад

      Спасибо! Про картинки, возможно будет работа с апи стороннего сервиса. С пхп принцип схож, но там нужно 2 сервера. Один для пхп, а второй для вебпака. И чтобы работал лайв релод у стилей и скриптов нужно делать условие на дев и прод (в деве путь через локал хост к дев серверу вебпака)

    • @gromniki
      @gromniki 5 лет назад +1

      @@tocode благодарю! Примерно понял насчёт php)

  • @tocode
    @tocode  5 лет назад +10

    Настройка Webpack-merge. Обработка изображений и статических файлов при помощи copy-webpack-plugin
    Исходный код вы можете скачать/посмотреть - github.com/vedees/webpack-template

    • @daniilorain
      @daniilorain 5 лет назад +2

      Может лучше в телеграм?

    • @tocode
      @tocode  5 лет назад +1

      @@daniilorain в телеге как-то не очень реализованы каналы, у дискорда в этом плане все куда круче это и каналы, рейтинги и тп + есть аудио чат и стол можно расшарить

    • @daniilorain
      @daniilorain 5 лет назад +1

      @@tocode всё равно им мало кто пользуется по сравнению с телеграмом

    • @biLLie_wiLLie
      @biLLie_wiLLie 5 лет назад +3

      Нашел ошибку (или это только у меня 😂) В webpack.base.conf.js в output: {publicPath: '/'} У меня билд не работал. Я покопался и вовсе удалил эту строчку. Заработали и дев и билд. Надеюсь кому-то поможет.

  • @pox1659
    @pox1659 2 года назад

    Видосы огонь🔥
    В случае ошибки (Invalid configuration object. Webpack has been initialized using a configuration object that does not match the API schema.), заместо contentBase используйте context

    • @abvideo9156
      @abvideo9156 Год назад

      Добрый день! Просто заменить contentBase на context? или как? Или в другом файле прописать нужно? Подскажите пожалуйста

  • @user-mw1uf8tf7w
    @user-mw1uf8tf7w 4 года назад +1

    Спасибо!

  • @AlexMalagor
    @AlexMalagor 5 лет назад

    По картинкам в css. Меня учили, что только контентные картинки нужно вставлять через img, а все остальное, куда пользователь не должен сувать свои ручки, делать через bаckground-image. А если очень нужно поменять бекграунд, например в слайдерах, то просто делается инлайновый стиль в котором уже бекендер может менять путь к файлу. Типа

  • @VictorSharamet
    @VictorSharamet 5 лет назад +1

    Спасибо тебе!

    • @tocode
      @tocode  5 лет назад

      Пожалуйста)

  • @jigaii
    @jigaii 5 лет назад +5

    Спасибо, отличная сборка и прекрасное видео, жаль сразу не нашел, а то учился по видео с 2.2.х и 3.х.х сидя на 4)
    Вопрос: почему нету pug? или позже добавишь?

    • @tocode
      @tocode  5 лет назад

      Пожалуйста, да определенно позже, как закончим с оснвной, но паг будет обязательно

  • @nurmuhammadkholmuhammadov9643
    @nurmuhammadkholmuhammadov9643 4 года назад

    unreal tutorial. thank you

  • @cerber3462
    @cerber3462 4 года назад

    Пишу в комментариях сколько бы удобно было по времени смотреть. Бесконечно!!! Если хочешь стать фронтэндером то по барабану удобно неудобно и какой формат времени. Пошел учиться на фронта на курсы, параллельно делаю ремонт в квартире. Распорядок дня такой - утром подъем в 6 утра, на работу, с работы на квартиру, делаю ремонт до 10, 11 вечера, потом прихожу и сажусь за учебу до 2 - 3 ночи. И так каждый день. Мне все удобно))) Спасибо за видео.

  • @pluto2656
    @pluto2656 5 лет назад +1

    best of the best

  • @jackdoe1312
    @jackdoe1312 3 года назад

    33:33 тот самый момент про background-image url (' ')

  • @pomenbshe
    @pomenbshe 5 лет назад +1

    Спасибо за видео! А почему ты создаешь константу buildWebpckConfig и потом передаешь ее в промис, который экспортируешь, а не просто module.exports = merge(baseWebpackConfig, {})? И можно ли module.exports заменить на export default?

  • @andreyzayats930
    @andreyzayats930 4 года назад +2

    Необходимо открывать файл индекс локально:
    1. убрал publicPath: '/',
    2. в css-loader -> options прописал url: false
    Остались такие проблемы, при использовании библиотеки какой либо, шрифты не грузятся ERR_FILE_NOT_FOUND,
    Та же проблема, если картинка прописывается через тег
    Билд выдает не правильные пути

  • @vladbelozertsev4084
    @vladbelozertsev4084 5 лет назад

    Спасибо за урок! :)
    У меня два вопроса:
    1. Если я хочу сделать фон при помощи изображения, стоит подключать стиль в атрибуте тега, или в данном случае можно подключать его через .scss файл?
    2. Зачем использовать copy-webpack-plugin, если есть file-loader, который может "взаимодействовать" с прочими обработчиками .scss файлов, в итоге можно писать пути не относительно файла в dist, а относительно файла в src.

  • @user-rw4nl8qf2g
    @user-rw4nl8qf2g 5 лет назад +2

    а можешь сделать видио по настройке для компоновки из нескольких блоков. Т.е. несколько папок в которых содержатся css/scss, html и media файлы, которые собираются в один html документ

    • @tocode
      @tocode  5 лет назад

      Да будет, вместе с пагом

  • @karimmorosov6007
    @karimmorosov6007 5 лет назад

    15-20 минут удобно смотреть

  • @SanityIsTheWeak
    @SanityIsTheWeak 4 года назад

    на формат времени плевать, главное количество полезной инфомации

  • @WapSter92
    @WapSter92 5 лет назад +1

    Классная подача материала, благодаря тебе соскочил с gulp. Но один момент почему бы нам не создать папку assets и в исходниках, иначе мы теряем такою прекрасную вещь как autoFileName или подобные плагины в редакторах, не будешь же все время в голове держать названия файлов или дописывать путь, особенно когда макет нарезаешь перед тем как верстать.

    • @tocode
      @tocode  5 лет назад

      С autoFileName возможно ты и прав. Сейчас с константами в PATH это дело можно легко поправить под себя. Я планировал в отдельном видео по оптимизации и сплиту убрать папку assets из хтмл (в плане путей) и сделать так чтобы лодеры при билде их подхватывали и автоматом добавляли этот путь, тогда не будет нужды прописывать путь с assets. И autoFileName с таким подходом будет отлично работать тк он думает что мы из src/img берем ее

    • @WapSter92
      @WapSter92 5 лет назад

      @@tocode я заметил эту фишку у file-loader, когда пытался сделать сжатие изображений, и опция publicPath оказалась у него багнутая, добавляет к пути папку из output.publicPath. На гитхабе нашел решение этой проблемы
      publicPath: function(url) {
      return url.replace(/dist/, '..')
      }
      и что самое не ясное, все равно что реплейсить хоть "абракодабра" но баг исчезает, а куда забрасывать готовые файлы нормально прописываются.

    • @tocode
      @tocode  5 лет назад

      @@WapSter92 я обычно через api от tinipng оптимизирую про это не знал, посмотрю как-нибудь

  • @DevyaterikovPetr
    @DevyaterikovPetr 5 лет назад

    Из описания path с npm: "This is an exact copy of the NodeJS ’path’ module published to the NPM registry."
    Думаю из package.json можно исключить, т.к. в node он присутствует по-умолчанию и всё прекрасно работает без этого пакета.
    ключ --open из задачи "dev" можно перенести в webpack.dev.config.js:
    devServer: {
    open: true
    }
    Очень интересно было бы подробнее узнать про webpack dev server, например про режим hot и изменение стилей и js без полной перезагрузки странички, про использование нескольких точек входа, вынос в отдельную точку входа сторонних пактов и версионирование.

    • @tocode
      @tocode  5 лет назад +1

      Да уберем паф, про опен тоже спасибо! Включу, все это сделаем на этапе оптимизации. про точки тоже будет как раз таки в оптимизации и сплитах

  • @evilowl1317
    @evilowl1317 5 лет назад +2

    Привет! Хотела бы узнать, будешь ли ты когда нибудь снимать разбор по nuxt?)

    • @tocode
      @tocode  5 лет назад

      привет, да, обязательно)

  • @user-dk1ru3yx9i
    @user-dk1ru3yx9i 4 года назад

    лайк и комент

  • @user-kl5lj6po8p
    @user-kl5lj6po8p 4 года назад

    Можно поподробней про PublicPath ContentBase и external

  • @ivankozhin8544
    @ivankozhin8544 5 лет назад +1

    Все кто были студентами полтора часа выдерживают =)

  • @user-cp7gt3jz8f
    @user-cp7gt3jz8f 5 лет назад +2

    Добрый день. Не совсем понял как добавить кроме index.html еще несколько шаблонов, например: contact.html, article.html ну и так далее. Я попробовал добавить в папку где index.html и в браузере попытался посмотреть их по адресу: localhost:8081/contact.html но что-то не пошло. Что надо сделать? Благодарю за ответ.

  • @egoist2956
    @egoist2956 4 года назад +3

    Спасибо за видео! А почему ты создаешь константу buildWebpckConfig и потом передаешь ее в промис, который экспортируешь, а не просто module.exports = merge(baseWebpackConfig, {})?

    • @tocode
      @tocode  4 года назад

      я увидел такую реализацию в исходниках vue.cli, они отлавливали таким образом ошибки плюс это сделано из-за мерджа. А так да, можно экспортировать напрямую сам мердж

    • @egoist2956
      @egoist2956 4 года назад

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

  • @aleksprimetv
    @aleksprimetv 5 лет назад +1

    @Jack Coder кстати тут заметил, почему ты postcss оставил в src, а не перенес в build?

    • @tocode
      @tocode  5 лет назад +1

      если ты про конфиг от postcss то ошибся еще изначально и перенес его в последнем видео в корень

  • @DevyaterikovPetr
    @DevyaterikovPetr 5 лет назад +1

    Ещё бы я заменил css reset на normalize.css. Мне кажется, что переопределять стандартное поведение по необходимости гораздо проще, чем сбрасывать все стили и потом вручную задавать заново.
    htmlacademy.ru/blog/64-about-normalize-css

    • @tocode
      @tocode  5 лет назад

      хорошее предложение, гляну

  • @user-sn2vl7iw9m
    @user-sn2vl7iw9m 5 лет назад +1

    Джек, подскажи пожалуйста по поводу babel'a. Мы подключили только @babel/preset-env. Но для доступа ко всем фишкам ES6, 7 и.т.д. Нужно ведь подключать полифилл. Но есть еще такой плагин как transform-runtime, который делает схожую работу, но не подключает фишки которых в ES5 небыло ( Map, WeakMap, Array.prototype.includes() и.т.д.). Проблема в том, что полифилл как-никак довольно большой файл. Возможно полифилл и ransform-runtime можно как-то комбинировать?

    • @tocode
      @tocode  5 лет назад

      Вообще для таких вещей есть @babel/polyfill в котором есть Array.from, Object.assign, карты и тп. Это все что я знаю на этот счет)

  • @aleksandrstaetskiy5687
    @aleksandrstaetskiy5687 5 лет назад

    top

  • @andranikmeneshyan5829
    @andranikmeneshyan5829 5 лет назад +1

    В блоге npm i webpack-merge перед ключём save стоит одна тире ))) а новичкам страшно будет )))

    • @tocode
      @tocode  5 лет назад

      спасибо)) исправил)

  • @fedortregubov3873
    @fedortregubov3873 5 лет назад

    Как можно получить значение флагов ноды изнутри скрипта? Например webpack --mode development. Через process.argv[i], где i - номер аргумента - неудобно.

  • @blackmind2966
    @blackmind2966 5 лет назад +1

    В вебпак доке написано "никогда не используйте вместе devtool опцию для sourcemap и подключенный плагин, так как он подключится таким образом дважды"

    • @Zerkacher
      @Zerkacher 4 года назад

      И что это значит?
      Удалить либо devtool либо SourceMapDevToolPlugin в webpack.dev.js?
      И ещё, может знаешь, что значит options: { sourceMap: true }, который мы прописываем в лоадерах?

  • @dimitirpopovich4394
    @dimitirpopovich4394 5 лет назад +1

    Благодарю за видео, очень информативны. Формат по времени хороший. Есть пара вопросов. А что по итогу выкладывается на сервер? и сложно ли дебажить с использованием всех этих хитросплетений вебпака?

    • @tocode
      @tocode  5 лет назад +1

      Dimitir Popovich спасибо, содержимое папки дист. На дебаг все эти переменные и тп не повлияют)

    • @dimitirpopovich4394
      @dimitirpopovich4394 5 лет назад

      @@tocode еще вопрос, если можно. Получается Webpack пути для входа, выхода и копирования считает от места конфига, а все остальное например { path: `./postcss.config.js` } и template: './src/index.html' считает от корня. Тут есть какая то логика?

    • @espocada_official
      @espocada_official 5 лет назад

      @@tocode в каких случаях называть папку assets, а в каких static ?

  • @alekseirukhmanov9123
    @alekseirukhmanov9123 3 года назад +1

    Видио огромный лайк. А если у меня фора обратной связи, что делать с php файлом? Как его в бандл запихнуть

    • @tocode
      @tocode  3 года назад

      пхп нельзя в вебпак сувать тк js не может обрабатывать php файлы. там решение оч простое, просто два сервака надо запускать и на пыхе ссылки на css/js будут тянуться с сервера вебпака (можно еще сделать проверку на $devMode и менять ссылка ни абс. пути либо пути к серверу вебпака)
      вроде я это уже где-то тут в комментариях рассказывал

  • @user-db4yb3nt1s
    @user-db4yb3nt1s 4 года назад

    Добрый день. Есть ли у вас видео как настроить watch?

  • @mushnikov35
    @mushnikov35 5 лет назад +1

    Будет ли видео по тестированию полученного шаблона ? да и как туда запехнуть pug ?

    • @tocode
      @tocode  5 лет назад

      паг будет в конце как ответвление от стандартной сборки, когда она будет на 100% готова. тесты будут на линтеры + прекоммиты)

    • @user-rb5gj7ls4n
      @user-rb5gj7ls4n 5 лет назад +1

      Если ты спрашиваешь, как подружить pug и webpack:
      npm i pug-loader -D. Потом в конфиге Webpack прописывай
      loaders: [
      // pug
      {
      test: /\.pug$/,
      loader: "pug-loader"
      }
      ]
      После подключай шаблон
      const template = require('тут указывай путь');

    • @tocode
      @tocode  5 лет назад

      вот еще из WCMS pages - github.com/vedees/wcms/tree/gh-pages/build
      там подключение пага и в целом когда мы до него дойдем будет тоже самое, что и там только с пофикшеными багами

    • @mushnikov35
      @mushnikov35 5 лет назад

      @@user-rb5gj7ls4n будем пробовать, спасибо !

  • @user-vd8pz6yk3p
    @user-vd8pz6yk3p 4 года назад

    Скажите а как изменится конфиг если вместо index.html будет index.php? Можно ли сделать чтоб в dev режиме синхронизация с браузером работала? А то при php не работает?

  • @user-sn2vl7iw9m
    @user-sn2vl7iw9m 5 лет назад +1

    А подскажите пожалуйста, зачем нам отдельная обработка css если мы уже делаем это с помощью scss. Для наглядности, что так тоже можно?

    • @tocode
      @tocode  5 лет назад

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

  • @user-du3ob2rx8u
    @user-du3ob2rx8u 4 года назад

    лайфхак - вместо path можно использовать поиск и массовое выделение.

  • @hloesilen
    @hloesilen 4 года назад

    если консоль ругается на configuration has an unknown property 'port' при npm run dev. На 30 минуте это будет исправлено

  • @user-ve1pf8gd6b
    @user-ve1pf8gd6b 4 года назад

    Добрый день, спасибо за полезный курс. У меня возникла проблема. Подскажите в чем может быть причина. Когда прописываю в файле стилей background-image и собираю сборку, у меня эта картинка после сборки падает в корень проекта. Также все файлы из папки src/images попадают исправно в dist/images. Когда я убираю background-image и пересобераю, то картинка, которая была прописана в файле стилей пропадает из корня. НЕ могу понять в чем дело. Подскажите как решить проблему
    Сейчас прошел урок по подключению шрифтов. подключил их в css. И теперь все шрифты у меня в корне проекта. Все файлы которые подключаетя в css после сборки попадают еще и в корень проекта в папке dist

  • @sergeyermolaev270
    @sergeyermolaev270 3 года назад

    Если изображение вставлено через background-image, то оно закидывается не в папку dist/assets/img, а в папку dist/

  • @lasthp
    @lasthp 5 лет назад +1

    ЧОкнутый вебпак конечно. как эта херня вообще стала популярна?) Чтоб его понимать, надо иметь по нему профессорскую степень. Не верю я что куча js разработчиков в этом добровольно разобрались
    спасибо за видео, кстати. смотрю просто чтобы иметь представление о нем, сам скорее всего буду просто клон с гитхаба делать

  • @agentdaun5699
    @agentdaun5699 5 лет назад +1

    У меня вопросик.
    В предыдущем видео много Scss файлов, mixin и т.д. И там в main есть определние .container, section и т.д. И я пока не особо понимаю, зачем они нужны, и как их правильно использовать. Будет ли видео по вёрстке сайта с использованием этого шаблона webpack'a? Что бы понять, когда использовать .container, а когда нет.

    • @tocode
      @tocode  5 лет назад +1

      если вкратце то container всегда используется) по верстке скорее да, чем нет потому что от той "верстки" что на 99% ютуба мне плакать хочется, когда смотрю)) но будет скорее всего не скоро

    • @agentdaun5699
      @agentdaun5699 5 лет назад +1

      Я говнокодер по природе, и это так же относится и к вёрстке. Получается container всегда используется, в каких бы блоках он не был? Что то по типу:
      ?
      И что насчёт секций? Сколько не смотрел вёрсток на ютубе, секции ни разу не видел, а тут ещё со стилями. Их использовать каждый раз когда новый блок создаёшь, что то по типу:



      ?
      И зачем им присваивать ID, а не Class? Что в них стилизовать?
      Сорри за мб тупые вопросы и спасибо за видосы.

    • @agentdaun5699
      @agentdaun5699 5 лет назад

      ​@@tocode
      Ещё вопросик.
      А когда использовать Wrapper. И когда section?
      А почему в Wrapper стоит максимальная ширина - 1280, а если у пользователя, например, 1920x1080 экран? или 4К?

    • @tocode
      @tocode  5 лет назад

      это нормальные вопросы, все через это проходили)) да - контейнер везде. секциям айди чтобы можно было сделать ссылки например на #promo это чаще всего на лендингах, когда как таковых страниц нету, а ссылки из меню идут именно на секции

    • @tocode
      @tocode  5 лет назад

      секции каждый новый блок, врепер единожды, по 4к практический нигде нету под них оптимизации мало кто сидит с плазм на сайтах))

  • @user-jz3hb9bu4q
    @user-jz3hb9bu4q 4 года назад

    Здравствуйте! Подскажите, пожалуйста, как мне подключить картинку в файле src/pug/blocks/header/index.pug? В папке src/pug/blocks/header/img есть файл download.jpg. Пытаюсь подключить так img(src='./img/download.jpg' alt='Image'), но картинка не подгружается

  • @brusentsev056
    @brusentsev056 5 лет назад +1

    Добрый день! Отличное видео ))) Может кто подскажет как подключить jquery к проекту?

    • @tocode
      @tocode  5 лет назад

      Добрый, новое видео уже на канале)

    • @RetroGameR_learn
      @RetroGameR_learn 5 лет назад +1

      ruclips.net/video/MRlBKfGktwI/видео.html где-т тут парень говорит

    • @RetroGameR_learn
      @RetroGameR_learn 5 лет назад +1

      UPD: А так просто его через npm устанавливаешь и в index.js импортируешь

  • @andriidou8023
    @andriidou8023 5 лет назад +1

    к MiniCssExtractPlugin нужно указивать publicPath иначе все картинки и шрифты в production подключение в css через URL вместо относительного пути url(../fonts/ получат абсолютный url(fonts/
    loader: MiniCssExtractPlugin.loader,
    options: {
    publicPath: '../'
    }

    • @tocode
      @tocode  5 лет назад

      спасибо, поправлю!

    • @user-wg3cl5qp1e
      @user-wg3cl5qp1e 5 лет назад

      Можно пожалуйста подробнее, что и где прописать? А то у меня тоже картинки не отображаются, не могу починить

    • @user-wg3cl5qp1e
      @user-wg3cl5qp1e 5 лет назад

      @@tocode Можно пожалуйста подробнее, что и где прописать? А то у меня тоже картинки не отображаются, не могу починить

    • @tocode
      @tocode  5 лет назад

      @@user-wg3cl5qp1e тут про проблемы с путями, если нужны относительного пути то как автор комментария написал - указать доп. путь в кофиге плагина MiniCssExtractPlugin. Но относительные пути практически не используются в них много проблем. например, как поступать с подпапками? получается бесконечные ../../../ и тп, в большинстве случаев лучше использовать абсолютные пути, которые сейчас в сборке. (их можно проверить только на сервере, можно даже локальном. без сервера они ищутся из корня и выходит ошибка )

    • @user-wg3cl5qp1e
      @user-wg3cl5qp1e 5 лет назад

      @@tocode Понятно, а как мне это запустить к примеру через open server? Последовательность шагов изменяется, как если бы я запускал обычный html файл без разных там Webpack`ов и т.д.

  • @user-rq6rx5cp7i
    @user-rq6rx5cp7i 4 года назад +1

    Почему папка dist не очищается перед сборкой?
    Т.е. старый мусор остаётся.

  • @DanilLukyanenko-qc8sf
    @DanilLukyanenko-qc8sf 5 лет назад +1

    Подключи авторизацию/регистрацию на блоге через гугл, фб..
    Будет тема :)

    • @tocode
      @tocode  5 лет назад +1

      Это да. Там ещё уйму всего нужно добавить и авторизацию через фб и ВК в том числе)

  • @user-sn2vl7iw9m
    @user-sn2vl7iw9m 5 лет назад

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

    • @tocode
      @tocode  5 лет назад

      чтобы можно было их подключать, на все файлы должны быть обработчики file-loader в данном случае универсален и обрабатывает практически все сторонние файлы

  • @user-wc6pr1zd7h
    @user-wc6pr1zd7h 5 лет назад

    про картинки в css: фигово вставлять картинки через css и выдавать этот блок за медиа ресурс. А если картинка является элементом дизайна компонента, то еще как нужно картинки вставлять в css, и вот тут становится непонятно как пути сопоставлять, ведь компонент - универсальный и независимый, а выходит пути к картинкам нужно указывать с учетом скомпилированного кода.

  • @moskvaaa
    @moskvaaa 5 лет назад

    Будут ещё уроки по webpack?

    • @tocode
      @tocode  5 лет назад +2

      да, конечно

  • @help_people_
    @help_people_ 4 года назад

    Обидно.. сделал все как вы написали. Даже с гитхаба взял, проверил.. но ошибка Error: vue-loader requires @vue/compiler-sfc to be present in the dependency tree. и все тут

  • @seregakovalenko6861
    @seregakovalenko6861 5 лет назад +2

    Привет, подскажите, кто сталкивался с проблемой сборки билд версии? При локальном запуске не видит файл джс и css, заранее благодарен!

    • @tocode
      @tocode  5 лет назад +2

      Мы по стандарту (которому придерживаются все сборщики) использовали ссылки с "/" в начале. Такой вариант считается лучшим для деплоя, но он не работает на локальной машине.
      Самый простой способ запустить проект на локалке это просто CTR + F далее заменить все пути "/assets" на "assets" (без слеша),
      но на сервере только "/assets" (со слешем).
      Статья про абсолютные и относительные пути -
      htmlbook.ru/samhtml/ssylki/absolyutnye-i-otnositelnye-ssylki

    • @user-is1di2yd2q
      @user-is1di2yd2q 5 лет назад +6

      @@tocode а что делать с изображениями, которые вставлены через CSS? К примеру в SASS файле вставляешь картинку через background: url("/assets/img/изображение.jpg"), но при компиляции билда в css хоть убирай слеш, хоть не убирай - хостинг всё равно не видит изображения и консоль выдаёт ошибку, мол, не могу найти изображение.

  • @interhin
    @interhin 5 лет назад

    А что насчет нескольких html страниц? Как это правильнее реализовать: делать несколько filename в webpack-html-plugin или как-то парсить все html из проекта, или как это обычно делают? И еще, попробовал твой шаблон и никак не могу разобраться с publicPath. Я пытался его менять, удалять и тд. эффекта ноль. Он вообще ни на что не влиял. Пути для картинок он не меняет. Заранее спасибо за ответ.

    • @tocode
      @tocode  5 лет назад

      да, несколько filename в webpack-html-plugin. А publicPath это для вебпака, для корректной работы дев сервера, пути можно менять в константах

  • @kostya_bizin
    @kostya_bizin 3 года назад

    Подскажите, пожалуйста, все делаю как у вас, нахожу некоторые проблемы в коде из-за версий, но они легко исправляются, но вот liveReload не работает, уже и указывал - hot: true, не помогает, что может быть?

    • @kostya_bizin
      @kostya_bizin 3 года назад

      спасибо, сам нашел, если кому будет интересно в webpack 5 нужно дописать в webpack.dev.conf.js -> target: 'web'

  • @astranik
    @astranik 5 лет назад

    если дальше копать то нужно прикрутить pug/jade

  • @user-pz3hv6lv5u
    @user-pz3hv6lv5u 4 года назад

    Яку тему ти використовуєш для VSC?

  • @user-wg3cl5qp1e
    @user-wg3cl5qp1e 5 лет назад

    Приветствую! Появилась надобность срочно разобраться в Webpack, хотя я вообще далёк от этих систем сборки и никогда с ними дело не имел. Даже npm стал для меня открытием пару дней назад) Вопрос в чём: мне понравилась проделанная автором работа и его шаблон, хотелось бы применить его к своей работе. У меня есть свои заготовки по html, less, и т.д. Как мне этот шаблон Вебпака прикрутить к моему шаблону структуры файлов? Чтобы не устанавливать через npm каждый модуль вручную и редактировать конфиг вебпака, т.е. последовательно повторяя всё за видео.

    • @user-wg3cl5qp1e
      @user-wg3cl5qp1e 5 лет назад

      наверно своими подробностями ушёл от темы) В общем, как использовать чужой шаблон вебпака? Файлы то в нём конфиги и т.д. все отредактированы. Но модули не установлены.

    • @user-wg3cl5qp1e
      @user-wg3cl5qp1e 5 лет назад

      Я чуть-чуть поковырялся, и если я правильно понял, то просто при совмещении структуры файлов этого шаблона и моего, надо в npm просто написать npm install ? И оно установит сразу всё подряд, что указано в конфиге, я правильно понял?

    • @user-sn2vl7iw9m
      @user-sn2vl7iw9m 5 лет назад

      @@user-wg3cl5qp1e Именно так. У тебя есть package.json в котором прописаны все зависимости. Копируешь его в нужную тебе папку, в консоли пишешь npm install и ВУАЛЯ. Ну и конфиги любезно предоставленные автором скачиваешь. А также про файл .babelIrc не забудь.

    • @user-wg3cl5qp1e
      @user-wg3cl5qp1e 5 лет назад

      @@user-sn2vl7iw9m Благодарю за ответ. А вы пробовали скачивать этот шаблон ? В режиме продакшана не работают картинки. Там ниже в комментах человек решил проблему, но я не совсем понял, что надо сделать. А мне надо уходить через час с доделанной работой. Вы не в курсе, в чём там проблема? Если знаете, распишите пожалуйста подробнее

    • @user-sn2vl7iw9m
      @user-sn2vl7iw9m 5 лет назад

      @@user-wg3cl5qp1e Да, шаблон скачивал. У меня также после продакшн сборки, если просто открывать dist/index.html тоже не подключаются ни стили ни картинки ни скрипты. Посмотрел на пути по которому подключаются вышеуказанные файлы. Стало ясно, что они относительные а не абсолютные ( Не берут свое начало из корня локального диска) именно по этому они и не подключаются т.к. если вы обратите внимание, то при открытом index.html в URL строке, у вас указан абсолютный путь к файлу. Когда я изменил пути к нужным нам файлам на абсолютные ( как у index.html) webpack в консоли выдал мне вот такую ошибку:
      Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
      - configuration.output.filename should be one of these:
      string | function
      -> Specifies the name of each output file on disk. You must **not** specify an absolute path here! The `output.path` option determines the location on disk the files are written to, filename is used solely for naming the individual files.
      Details:
      * configuration.output.filename: A relative path is expected. However, the provided value "I:\\HTML CSS\\Training\\MyTemplate\\webpack_template\\build\\assetsjs/[name].js" is an absolute path!
      Please use output.path to specify absolute path and output.filename for the file name.
      * configuration.output.filename should be an instance of function
      Из которой становится ясно, что пути к нужным нам файлам и должны оставаться относительными т.к. мы будем запускать проект на сервере а не на локальном компьютере им любоваться. Вроде бы всё, расписал как можно подробнее.

  • @user-ip5cv2gq8e
    @user-ip5cv2gq8e 5 лет назад +1

    Имею одностраничный проект и многостраничный проект в одной папке
    что-то вроде:
    проект1
    куча подпапок с страницами
    проект2
    index.html
    src
    dist
    как прописывать filename у htmlwebpackplugin или как исправить иерархию, чтобы все было нормально? Спасибо. (шаблон один, отличаются только содержание шапки)
    И еще: сижу на винде, после каждого запуска build пакета при попытке коммита git ругается на lf в dist/*.js файлах. можно ли как-то сказать вебпаку, чтобы он сохранял файлы с crlf?

    • @tocode
      @tocode  5 лет назад

      С двумя проектами лучше 2 сборки использовать, если они нужны одновременно то порты менять. про коммиты не знаю,, кинь скрин в t.me/jackcoder

    • @user-sn2vl7iw9m
      @user-sn2vl7iw9m 5 лет назад

      Мужик не парь мозги, окончанием срок IDE занимается а не вебпак. Да и гит при коммите ( на винде ) автоматом ставит окончание crlf.

    • @user-ip5cv2gq8e
      @user-ip5cv2gq8e 5 лет назад

      @@user-sn2vl7iw9m уже нашел опцию в гите, отвечающую за автосмену окончания строк. По дефолта она была выключена