Webpack. Базовая сборка проекта

  Рет қаралды 40,578

MaxGraph - cайты как страсть

MaxGraph - cайты как страсть

Күн бұрын

Пікірлер: 241
@dobramorda9818
@dobramorda9818 3 жыл бұрын
Очень полезное видео, автору спасибо! Ребят, вот список того, где будут ошибки относительно 2021.11.26 devServer - нужно вместо contentBase добавить поле объект static: { directory: project_dir} html-loader - нужно добавить еще опцию options: { esModule: false} Так же советую дополнить сборку таким вот образом const json = require('./package.json'); const project_name = json.name; const project_dir = path.resolve(__dirname, project_name); Берем название проекта из package.json, оно меняется при каждом npm init, чистим источники прошлого проекта, и стартовый набор ваших наработок уже подключен к новому проекту.
@semenkliuchko3441
@semenkliuchko3441 2 жыл бұрын
Спасибо за твои подсказки, мне помогло решить вопрос с обработкой фото, никак не загружались.
@ВикторОрлянский-я5ц
@ВикторОрлянский-я5ц 2 жыл бұрын
Спасибо за совет! очень выручил!!!
@alexbird1507
@alexbird1507 Жыл бұрын
У меня уже был готовый проект и с галпом все работало, а через вэбпак - пошли проблемы. Дополнил при html-loader в rules options: { esModule: false, sources: false, }, потому что шли ошибки с путями к картинкам.
@555keira
@555keira 3 жыл бұрын
В документации webpack 5 сказано, что для очистки папки dist добавили свойство clean: true в output, поэтому можно избавиться от плагина clean-webpack-plugin )
@maxgraph
@maxgraph 3 жыл бұрын
Ну отлично)
@rozovays
@rozovays 2 жыл бұрын
Спасибо
@thefact4529
@thefact4529 2 жыл бұрын
пользуюсь, это круто
@DmytroTorop
@DmytroTorop 2 жыл бұрын
Благодарю, возьму на вооружение)
@StanislavKadyrov
@StanislavKadyrov 3 жыл бұрын
Спасибо за урок! Без воды, четко, понятно и по делу! Молодец!
@maxgraph
@maxgraph 3 жыл бұрын
Спасибо))
@daminator1994
@daminator1994 3 жыл бұрын
Спасибо за урок! Очень классн объясняешь. С третьей попытки нашел нормальное видео, где у меня все пошло как надо.
@maxgraph
@maxgraph 3 жыл бұрын
Пожалуйста)
@ВикторОрлянский-я5ц
@ВикторОрлянский-я5ц 2 жыл бұрын
Максим, огромное тебе спасибо! Потратил уйму времени, чтобы разобраться, и только по твоему видео получилось запустить dev-server.
@maxgraph
@maxgraph 2 жыл бұрын
Пожалуйста))
@mikhaildv3689
@mikhaildv3689 3 жыл бұрын
Спасибо за видео! Жду марафон по вёрстке с данной сборкой настроек Webpack 5. Ну и как в комментариях писали ранее, хотелось бы увидеть видео-урок по созданию многостраничных сайтов Webpack 5.
@volhv12
@volhv12 3 жыл бұрын
просто шикарная подача для новичков --- ставлю жирный наваристый лайк) спасибо за работу) даже на скорости 2
@maxgraph
@maxgraph 3 жыл бұрын
Спасибо)
@АлександрЧасовников-щ3ч
@АлександрЧасовников-щ3ч Жыл бұрын
Благодарю за урок! То, что нужно.
@ПавелБашкеев-я3б
@ПавелБашкеев-я3б 3 жыл бұрын
Спасибо за данное видео!!!! Все подробно рассказано. Да и было бы отлично увидеть теперь верстку с этой сборкой.!!
@hibiride
@hibiride Жыл бұрын
Отличный видос! Все понятно.
@miatomusic4158
@miatomusic4158 4 жыл бұрын
Неплохо бы рассмотреть такой момент, как возможность создания многостраничных сайтов Webpack 5
@maxgraph
@maxgraph 4 жыл бұрын
Не учел это в видео, но если очень надо - сделаю отдельно.
@miatomusic4158
@miatomusic4158 3 жыл бұрын
@@maxgraph надо очень. Или уже где-то выложено?
@maxgraph
@maxgraph 3 жыл бұрын
@@miatomusic4158нет еще
@romandogoda2003
@romandogoda2003 3 жыл бұрын
@@maxgraph Очень надо! Не обязательно писать видео, можно просто добавить к этой сборке в гит. И авто-префиксы тоже). Спасибо за твой труд - отличная подача.
@gladiatorrussia
@gladiatorrussia 3 жыл бұрын
@@romandogoda2003 присоединяюсь
@mr__frankinshtein3347
@mr__frankinshtein3347 3 жыл бұрын
Добрый день. Спасибо огромное за видео!!! Спасибо за Ваш труд. Единственное видео, по которому смог собрать проект, только Вас теперь смотрю.
@maxgraph
@maxgraph 3 жыл бұрын
Рад помочь)
@ПавелЧипула-с5п
@ПавелЧипула-с5п 3 жыл бұрын
Хорошая работа , сижу уже 5 часов возле видео , разбираю каждый момент , спасибо!!
@maxgraph
@maxgraph 3 жыл бұрын
Пожалуйста)
@АлександрМелянюк-ц9ю
@АлександрМелянюк-ц9ю 4 жыл бұрын
Сказал -> сделал!)Я как-то просил в комментариях webpack!)) Спасибо!!!!
@maxgraph
@maxgraph 4 жыл бұрын
Пожалуйста :)
@ДмитрийАлексеев-р9й
@ДмитрийАлексеев-р9й 3 жыл бұрын
Спасибо за разбор! Это моя первая сборка, собранная вручную, до этого верстал дедовскими методами) Все подробно и понятно, а самое главное - все работает) Жду еще видосов по webpack!
@kvadratikk3861
@kvadratikk3861 3 жыл бұрын
спасибо, самое актуальное видео по вебпак 5, наконец все стало понятно
@maxgraph
@maxgraph 3 жыл бұрын
Пожалуйста)
@dsogs9961
@dsogs9961 4 жыл бұрын
Марафон с вебпаком!)
@elenaizmaylova9331
@elenaizmaylova9331 2 жыл бұрын
Максим, спасибо тебе огромное за видео! Ты просто супер!!!
@maxgraph
@maxgraph 2 жыл бұрын
Пожалуйста)
@ArtemBro-y5s
@ArtemBro-y5s 3 жыл бұрын
Поддерживаю все положительные коменты ниже, реально класно сделан ролик, понятно, структурированно, а главное на сегодняшний день актуально по webpack 5. Хотел сделать сборку по другим видосам - не смог из-за слабых пока знаний( А тут все четко!!! Благодарен за проделаный труд и потраченное время! Мира и добра Вам!!!
@CaMe_Tak
@CaMe_Tak 2 жыл бұрын
Вау, это идеальное объяснение. Еще и с кодом. Большое спасибо!!! С меня подписка и лайк однозначно
@maxgraph
@maxgraph 2 жыл бұрын
Пожалуйста)
@hbg2055
@hbg2055 3 жыл бұрын
Просто красава! Очень хорошая подача материала. Спасибо!
@marishakarpova8278
@marishakarpova8278 3 жыл бұрын
Отличное видео 👍 Для закрепления надо бы пересмотреть пару раз. Хотелось бы марафон по верстке с данной сборкой, т.к. в основном в вакансиях требуется именно webpack. Спасибо за подробное видео.
@maxgraph
@maxgraph 3 жыл бұрын
Вёрстку то на вебпаке не требуют) но я подумаю над этим, может летом сделаю
@АртемСемёнов-к4ч
@АртемСемёнов-к4ч 3 жыл бұрын
Разбор как надо! Спасибо!
@maxgraph
@maxgraph 3 жыл бұрын
Пожалуйста)
@АндрейВикулов-ы8м
@АндрейВикулов-ы8м 3 жыл бұрын
Супер! Спасибо за полезное видео!
@maxgraph
@maxgraph 3 жыл бұрын
Пожалуйста)
@montenote
@montenote 3 жыл бұрын
Спасибо, всё круто. Прикол, я сам уже давно на Галпе и вот решил что-то поменять - так что конец видео мне особо понравился =D
@maxgraph
@maxgraph 3 жыл бұрын
Пожалуйста)
@ВадимБогданов-щ2ы
@ВадимБогданов-щ2ы 3 жыл бұрын
Видео отличное, но есть местами дыры в тестах. К примеру если написать для проверки babel асинхронную функцию - то ничего работать не будет. Нужно изменить entry: './js/index.js' на entry: ['@babel/polyfill', './js/index.js'] и установка @babel/polyfill в Dependencies Для тех, кто хочет работать с нативным css (шлифованным postcss) нужны postcss postcss-easy-import postcss-loader autoprefixer csso в DevDependencies В plugins добавить new CssoWebpackPlugin(), и переписать лоадеры вот так { test: /\.css$/i, exclude: /node_modules/, use: [ { loader: MiniCssExtractPlugin.loader, options: { publicPath: (resourcePath, context) => path.relative(path.dirname(resourcePath), context) + '/' } }, 'css-loader', { loader: 'postcss-loader', options: { postcssOptions: { plugins: [ EasyImport, Autoprefixer ] } } } ] } Ещё не досмотрел до самого конца, и впереди ещё кучу функционала которого нужно добавить будет самому. Но тебе большое спасибо за это видео) Пытался вкатиться в вебпак на курсе у Владилена, но там 4 версия и много чего не работает + заточено под проект курса, а мне нужно было собрать универсальный шаблон для вёрстки (решил переобуться с галпа и открыть для себя что-то новое). Сидел бы ждал обновления материала, если бы не ты)
@dimeliora
@dimeliora 3 жыл бұрын
@babel/polyfill вроде уже deprecated, рекомендуют ставить core-js и настраивать пресеты babel под него, в этом случае и в entry кроме index.js ничего добавлять не нужно.
@СергейКулаков-ю6д
@СергейКулаков-ю6д 4 жыл бұрын
годный инструмент. ждём 2ю часть. ей обязательно быть место! Спасибо за труд-с! Разве только index.html? а как же много-много html'ов? :)
@maxgraph
@maxgraph 4 жыл бұрын
Я сделал лишь базу :)
@LuckyLucky-vq5lt
@LuckyLucky-vq5lt 3 жыл бұрын
Марафон с вебпаком!!!)
@x-bit5193
@x-bit5193 3 жыл бұрын
+ за марафон на этом конфиге!
@technical777
@technical777 3 жыл бұрын
Спасибо за полезность ! Лайк и Подписка !
@maxgraph
@maxgraph 3 жыл бұрын
Пожалуйста)
@livechat1608
@livechat1608 Жыл бұрын
Начну с того, что текст ниже - это не хейт, а указание на пункты, которые хорошо было бы исправить. Очень хорошо что автор снимает обучающие ролики, но всё же видео должны быть грамотными, чтобы не было недопонимания у зрителей. 1. Зачем в скриптах package.json одновременно и NODE_ENV и mode? Они делают одно и то же. 2. mode должен быть не статичным полем, а динамическим. 3. Не объяснена суть entry, что такое точки входа и как Webpack находит файлы для сборки. Это основа, которую каждый начинающий должен понять, чтобы не возникало ощущение магии. 4. С filename в output дико перемудрил. 5. Почитай что такое publicPath. 6. Модуль path используется для задания абсолютных путей там где Webpack их ожидает. С одной стороны, везде писать path не нужно, с другой стороны на это как бы пофиг, не ошибка. Но объяснить для чего нужен path надо. 7. В одной сборке используешь и html-loader и HtmlWebpackPlugin? Зачем? Они взаимозаменяемы. 8. css-loader преобразует код из CSS в JS, а не наоборот (как было сказано в видео). Здесь суть в том, что Webpack понимает ТОЛЬКО JS и JSON, поэтому css-loader и нужен, для преобразования CSS в JS. 9. MiniCssExtractPlugin замедляет скорость сборки. Он должен использоваться только в продакшене, а в режиме разработки используется style-loader, который внедряет CSS в JS, подключая стили к странице. 10. Зачем в видео разделение css и scss на два лоадера? Если к конфигу уже подключен sass-loader, то это действие лишнее, потому что sass-loader умеет работать как с .css, так и с .scss. 11. В babel-loader есть важная настройка targets. По-умолчанию при ее отсутствии babel конвертирует код до самых допотопных браузеров, увеличивая размер бандла в разы. Если в проекте не нужно поддерживать IE и очень старые версии современных браузеров, то нужно явно указать targets. 12. file-loader уже давно устарел, вместо него используется Asset Modules. Плюс там та же ситуация с непонятной генерацией имени, это все делается намного проще. 13. В HTMLWebpackPlugin по-умолчанию итак заданы то же значение для filename которое ты указал, это свойство здесь лишнее. Оно лишнее еще и потому, что файл с названием index.html итак должен существовать в проекте (в большинстве случаев). 14. В HTMLWebpackPlugin ты выставил свойство minify, сделав только удаление пробелов. Проблема в том, что minify делает гораздо большее, чем только удаляет пробелы, потому что там под капотом стоит Terser. А задавая в перечислении только удаление пробелов - ты отключил все остальные оптимизации плагина. 15. CleanWebpackPlugin тоже уже очень давно не требуется, его функционал включен в output в свойстве clean. 16. contenthash в имени это конечно хорошо, но хотелось бы услышать чем он отличается от hash и chunkhash. В целом хотелось бы слышать больше грамотных объяснений: что за что отвечает, почему это сделано именно так, и так далее.
@IT_psychopath
@IT_psychopath 3 жыл бұрын
Если не работает, возьмите готовое с github, автор же дал ссылку в описании. Просто та что с его репа, она строго настроена под те зависимости, которые в ней использовались, и ошибок не должно быть вообще. А видео, просто как ознакомительное, можно себе в конфиге под видос комменты прописать, для более глубокого понимания.
@andykud63
@andykud63 3 жыл бұрын
Люблю практиков, а не водовозов!
@podshib
@podshib 3 жыл бұрын
Есть кто использует Webpack 5 в разработке темы для Wordpress? Подскажите пожалуйста толковое видео или текстовый мануал. Это видео отличное - все работает. Автору респект.
@maxgraph
@maxgraph 3 жыл бұрын
спасибо)
@Ибрагим-вввв09
@Ибрагим-вввв09 4 жыл бұрын
Прекрасно )
@555keira
@555keira 3 жыл бұрын
Вопрос: что если файлы с одним расширением (svg, например) встречаются в 3-х разных папках: img, fonts (иконочный шрифт) и в assets (favicon)? Как их разложить по нужным папкам в build?
@СергейКулаков-ю6д
@СергейКулаков-ю6д 4 жыл бұрын
Давайте попробуем сделать учебный проект. А там и на react перейдём )
@Лехамахов-б5е
@Лехамахов-б5е 3 жыл бұрын
все делал по видео, столкнулся с проблемой "html-loader", перекидывает картинки в папку app и подключает пути сам, плагин file-loader просто закидывает изображения в указанную папку но не подключает в html как этого избежать и сделать что бы картинки обрабатывал с подключением путей file-loader,?
@gyros9162
@gyros9162 2 жыл бұрын
Спасибо за полезное видео! Было бы еще лучше показывать структуру проекта в самом VS Code
@maxgraph
@maxgraph 2 жыл бұрын
Пожалуйста) учту
@RuSSiAnBAtMAN
@RuSSiAnBAtMAN 3 жыл бұрын
Макс, отличное видео, спасибо! А теперь вопрос в студию: в 21 году у кого-нибудь получилось заставить заработать фоновую картинку?
@jene3680
@jene3680 2 жыл бұрын
test: /\.(jpe?g|png|gif|svg)$/i, type: 'asset/resource', generator: { filename: () => { return isDev ? 'img/[name][ext]' : 'img/[name].[contenthash][ext]'; } } }, как то -так
@knowledge9396
@knowledge9396 7 ай бұрын
Хотелось бы поинтересоваться. Возможно, Вам известен какой либо способ организации HTML файлов, в сборке реализованной на Webpack, подобный тому, что применяется в Gulp сборке с помощью плагина gulp-file-include. Проще говоря, речь идет о разделении одного большого HTML фала, на несколько маленьких фрагментов, с целью последующего включения в какой либо другой, общий документ.
@maxgraph
@maxgraph 7 ай бұрын
Нет, не знаю такого. Возможно, его и нет)
@deutschc9058
@deutschc9058 3 жыл бұрын
попробую по вашему видеособрать ))надеюсь на этот раз будет удачно))
@deutschc9058
@deutschc9058 3 жыл бұрын
собралось , но все ImageMinimizerPlugin.loader, не стал...а так все супер...спасибо за труд...
@gladiatorrussia
@gladiatorrussia 3 жыл бұрын
Спасибо большое за сборку. Сделал себе все как у тебя. Можно узнать зачем нужны файлы .stylelintrc и .editorconfig? если их удалить ничего не случиться? и еще вопрос на счет автопрефиксера, он тут уже есть по умолчанию или нужно устанавливать?
@maxgraph
@maxgraph 3 жыл бұрын
Не помню про автопрефиксер) надо проверить. насчет тех файлов - первый отвечает за настройка стайллинта (проверяет css-код), второй - за форматирование в редакторе. можно удалить в принципе
@w_taurn
@w_taurn Жыл бұрын
Возник такой вопрос, настроил Webpack в проекте все хорошо.При создании нового проекта нужно заново все настраивать или есть более простой вариант?
@maxgraph
@maxgraph Жыл бұрын
Копируешь все файлы, кроме нод модулей, и далее вызываешь npm i, все установится как в первый раз)
@w_taurn
@w_taurn Жыл бұрын
@@maxgraph спасибо большое
@АртемДумчиков-ж9ф
@АртемДумчиков-ж9ф 3 жыл бұрын
Ошибка в DEV SERVER - вместо contentBase нужно static иначе сервак не запуститься
@jenyaspace
@jenyaspace 2 жыл бұрын
Сделал все тоже самое как на видео но publicPath не работает выдает ошибки
@nalcapital
@nalcapital 2 жыл бұрын
Спасибо
@maxgraph
@maxgraph 2 жыл бұрын
Пожалуйста)
@JesseJames-mh5kb
@JesseJames-mh5kb 2 жыл бұрын
всем привет, такая ситуация: у index.html я вставил картинку(img src="img") и когда я запускаю webpack, то у в папке dist, в корне у меня появляется картинка у которой не название, а каракули, и если я запущу dev-server(npm run start), то браузер не отображает картинку, так как ссылается на путь той самой картинки с каракулями вместо названия, помогите плз решить проблему. File-loader подключен, картинки из src попадают куда надо, но браузер ссылается именно на это недоразумение в корне dist
@_fulgrim_9865
@_fulgrim_9865 2 жыл бұрын
test: /\.(jpe?g|png|gif|svg)$/i, type: 'asset/resource', generator: { filename: () => { return isDev ? 'img/[name][ext]' : 'img/[name].[contenthash][ext]'; } } },
@ВиталийИльин-я1п
@ВиталийИльин-я1п 2 жыл бұрын
как решить то ?
@ВиталийИльин-я1п
@ВиталийИльин-я1п 2 жыл бұрын
{test: /\.(?:ico|gif|png|jpg|jpeg)$/i, type: 'asset/resource', generator: { filename: (isDev) =>{ if (isDev){ return 'static/img/[name][ext][query]'; } return 'static/img/[hash][ext][query]'; } }, },
@JesseJames-mh5kb
@JesseJames-mh5kb 2 жыл бұрын
@@ВиталийИльин-я1п решил так, что установил готовую сборку вебпака. в чем была проблема так и не понял
@ВиталийИльин-я1п
@ВиталийИльин-я1п 2 жыл бұрын
@@JesseJames-mh5kb file loader устарел, его заменили на assets, в данном случае resource
@ihorstrafun2551
@ihorstrafun2551 2 жыл бұрын
Привет!!! Hе подскажете как подключить favicon в webpack???
@deniskotov
@deniskotov 2 жыл бұрын
У кого возникли проблемы с опцией contentBase для devServer, просто замените contentBase на static и автоматическая перезагрузка заработает.
@ezoterikinfo
@ezoterikinfo 3 жыл бұрын
Спасибо за видео! Подскажите, получилось ли как-то заставить работать svg-спрайты? "svg-sprite-loader" не добавляет в css пути к спрайту (issues/477), а "extract-svg-sprite-webpack-plugin", похоже, вообще не поддерживает webpack 5 т.к. выдает ошибку: "Error: Cannot find module 'webpack/lib/RuleSet'". Возможно, есть еще какие-то варианты?
@vladislavsk5228
@vladislavsk5228 3 жыл бұрын
Все ломается и перестает работаеть когда добавляю { test: /\.html$/, loader: 'html-loader', }, перелопатил уже все не найду причины
@НикитаСоловьёв-й6к
@НикитаСоловьёв-й6к 3 жыл бұрын
Аналогично, когда придёт помощь, дайте клич )
@god2be
@god2be 3 жыл бұрын
Если еще актуально, то помогло { test: /\.html$/i, loader: 'html-loader', options: { esModule: false, } }, в webpack 5 esModule стоит по дефолту true, так что ломает все
@miatomusic4158
@miatomusic4158 3 жыл бұрын
В документации webpack 5 написано, что terser-webpack-plugin и optimize-css-assets-webpack-plugin нет необходимости использовать
@yuriikovalchuk564
@yuriikovalchuk564 3 жыл бұрын
у меня в папке dist появляется 2 иконки favicon, одна хешированная (созданная с помощью html webpack plugin), а вторая скопированная copy-webpack-plugin. Есть идеи как это пофиксить? в патернах копи плагина создал globOption а в них ignore, и вставил имя иконки и расширение, но почему то не работает, плагин все равно копирует иконку
@yuriikovalchuk564
@yuriikovalchuk564 3 жыл бұрын
тоже самое происходит и с картинками
@555keira
@555keira 3 жыл бұрын
У меня тоже такое было, для картинок и шрифтов использовала новую фичу asset, всё работает отлично (в generator указываем папку с нужным названием): { test: /\.(ico|gif|png|jpe?g|svg)$/i, type: 'asset/resource', generator: { filename: 'img/[name][ext]' } }, { test: /\.(woff|woff2|eot|ttf|otf)$/i, type: 'asset/resource', generator: { filename: 'fonts/[name][ext]' } }
@Ky3dMu4
@Ky3dMu4 3 жыл бұрын
Здравствуйте, спасибо за сборку, отлично подали, правда я еще начинающий не все понял и поэтому ест один вопрос, когда собирается build и dev, дублируются файлы из папок img fonts и assets(был изменен при сборке было 'app' стало 'app/assets'), подскажите как это исправить.
@vasyaplutau441
@vasyaplutau441 3 жыл бұрын
возможно я и сам несу ерунду но 'app/assets' - означает то что внутри app есть одна папка assets если добавить в эту папку еще одну то app/assets будет просто app
@LuckyLucky-vq5lt
@LuckyLucky-vq5lt 3 жыл бұрын
MAX подскажи как настроить, чтобы собирались несколько страниц .html . Две бессонные ночи) не могу разобраться. Если скопировать код еще раз в webpack.config.js: new HTMLWebpackPlugin({ template: path.resolve(__dirname, 'src/index.html'), filename: 'index.html', minify: { collapseWhitespace: isProd } }), new HTMLWebpackPlugin({ template: path.resolve(__dirname, 'src/test.html'), filename: 'test.html', minify: { collapseWhitespace: isProd } }), то он две страницы собирает, а если страниц будет больше, то проблемка))
@LuckyLucky-vq5lt
@LuckyLucky-vq5lt 3 жыл бұрын
Разобрался))) const fs = require('fs'); const PATHS = { src: path.join(__dirname, './src') } const PAGES_DIR = `${PATHS.src}/pages/` const PAGES = fs.readdirSync(PAGES_DIR).filter(fileName => fileName.endsWith('.pug')) ...PAGES.map(page => new HtmlWebpackPlugin({ template: `${PAGES_DIR}/${page}`, filename: `./${page.replace(/\.pug/, '.html')}` })), может кому пригодится)
@vladwolf444
@vladwolf444 3 жыл бұрын
Импорт переменных из других scss не работает. В видео подобного не нашел, есть решение? Аналогичная ситуация с комментариями. При комментировании кода scss, webpack просто отказывается делать билд.
@zubrdens
@zubrdens 3 жыл бұрын
hmr уже не работает.
@frallen9787
@frallen9787 3 жыл бұрын
Для работы copy-webpack-plugin обязательно в папке должны быть файлы!
@livechat1608
@livechat1608 Жыл бұрын
Нет, просто автор не показал как обработать случай отсутствия файлов. Есть специальное свойство в настройках плагина
@alexandrtimofeev4511
@alexandrtimofeev4511 3 жыл бұрын
наткнулся на такую ошибку, в чем может быть проблема??? З.Ы. остановился на 43 минуте видео ERROR in ./css/style.css Module build failed (from ../node_modules/mini-css-extract-plugin/dist/loader.js): ValidationError: Invalid options object. Mini CSS Extract Plugin Loader has been initialized using an options object that does not match the API schema. - options has an unknown property 'hmr'. These properties are valid: object { publicPath?, esModule?, modules? } at validate (C:\Users\lenovo_v580c\Desktop\webpack_lessons2 ode_modules\schema-utils\dist\validate.js:104:11) at Object.pitch (C:\Users\lenovo_v580c\Desktop\webpack_lessons2 ode_modules\mini-css-extract-plugin\dist\loader.js:39:29)
@alexandrtimofeev4511
@alexandrtimofeev4511 3 жыл бұрын
сам код const path = require('path') , HTMLWebpackPlugin = require('html-webpack-plugin') , {CleanWebpackPlugin} = require('clean-webpack-plugin') , MiniCssExtractPlugin = require('mini-css-extract-plugin'); const isDev = process.env.NODE_ENV === 'development' , isProd = !isDev , filename = (ext) => isDev ? `[name].${ext}` : `[name].[contenthash].${ext}`; module.exports = { context: path.resolve(__dirname, 'src') , mode: 'development' , entry: '/js/main.js' , output: { path: path.resolve(__dirname, 'app') , filename: `./js/${filename('js')}` } , devServer: { historyApiFallback: true, contentBase: path.resolve(__dirname, 'app'), open: true, compress: true, hot: true, port: 3000, } , plugins: [ new HTMLWebpackPlugin({ template: path.resolve(__dirname, 'src/index.html') , filename: 'index.html' , minify: { collapseWhitespace: isProd } }) , new CleanWebpackPlugin() , new MiniCssExtractPlugin({ filename: `./css/${filename('css')}` }) ] , module: { rules: [ { test: /\.css$/i, use: [ { loader: MiniCssExtractPlugin.loader, options: { hmr: isDev }, }, 'css-loader' ], } , { test: /\.s[ac]ss$/i, use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader'] } ] } };1
@artwin777
@artwin777 3 жыл бұрын
file loader не работает на этой конфигурации!!! Будьте внимательны
@artwin777
@artwin777 3 жыл бұрын
html loader также не работает как надо, если img запихнуть напрямую в html то картинки работать не будут, через css все норм.
@anatoliitupkalo1416
@anatoliitupkalo1416 3 жыл бұрын
Спасибо за урок. У меня возникла проблема с sass, консоль говорит, что нету подходящего лоудера, хотя все стоит, и все подключено, и это уже не первый раз возникает сложность в работе webpack and sass. Что может быть и где поискать ответ?
@maxgraph
@maxgraph 3 жыл бұрын
Смотреть надо, так увы не знаю
@МагаМагамед-р3л
@МагаМагамед-р3л 3 жыл бұрын
не работает webpack когда я установили это плагин html-webpack-plugin и вот такая ошибка [webpack-cli] Failed to load 'C:\Users\Magomedov\Documents\webpack\webpack-2\webpack.config.js' config [webpack-cli] Error: Cannot find module 'loader-utils' Require stack: ? несколько раз пробовала бесполезный
@anchoysSmurf
@anchoysSmurf 3 жыл бұрын
а как обрабатывать несколько файлов scss, js, html
@maxgraph
@maxgraph 3 жыл бұрын
постараюсь в мае-июне запилить ролик на тему)
@servera-center
@servera-center Жыл бұрын
как добавить плагин inputmask? импортировать те
@maxgraph
@maxgraph Жыл бұрын
Через npm
@servera-center
@servera-center Жыл бұрын
@@maxgraph не в этом плане через es6
@vladislavromanov3384
@vladislavromanov3384 3 жыл бұрын
Извиняюсь за глупый вопрос заранее! Вот представим, что я начинаю новый проект. Создал папку, в нее закинул все конфиги, сделал такую же структуру. Чтобы с этим работать, мне что-либо надо заново прописывать в консоле, что-то подгружать и так далее?) Или же скопировал и все уже будет работать?
@maxgraph
@maxgraph 3 жыл бұрын
скопировать и ввести команду для старта)
@vladislavromanov3384
@vladislavromanov3384 3 жыл бұрын
@@maxgraph круто! Спасибо)
@dimeliora
@dimeliora 3 жыл бұрын
Ну, node_modules надо установить, это делается командой npm i, из package.json будут взяты все зависимости для установки. После этого запускать скрипты и работать.
@dexterdragons
@dexterdragons 2 жыл бұрын
how to file include webpack plugin by concatenation?
@ktytar
@ktytar 3 жыл бұрын
У меня не работали импорты в scss, только если из node_modules импортировать все работало. Установил в зависимости "sass" теперь все ок. Максим, почему у тебя все сразу собралось ?
@maxgraph
@maxgraph 3 жыл бұрын
Возможно потому что сам сасс обновился не так давно, а видео уже давнишнее.
@zubrdens
@zubrdens 3 жыл бұрын
В devServer вместо contentBas нужно static
@АрсенийПаршуков-к4я
@АрсенийПаршуков-к4я 2 жыл бұрын
Спасибо огромное!
@vladislavsk5228
@vladislavsk5228 3 жыл бұрын
Добрый день. Спасибо большое за сборку, но есть момент, она не работает под IE, подскажите пожалуйста как исправить что бы и в IE работало.
@maxgraph
@maxgraph 3 жыл бұрын
Добрый вечер. Не работаю с IE, не знаю)
@denysdvornykov1058
@denysdvornykov1058 3 жыл бұрын
В описании terser-webpack-plugin сказано что в вебпак 5 он уже идет в упаковке и не нуждается в отдельной установке ( you are using webpack v5 or above you do not need to install this plugin), Вы вроде уже 5 версию используете, или я что-то не понял?
@maxgraph
@maxgraph 3 жыл бұрын
может я не увидел, или в тот момент у них этого не было. но люди на гитхабе писали мол не подходит для вебпака версии 5.
@kazikhangereykhanov9951
@kazikhangereykhanov9951 3 жыл бұрын
Cпасибо большое а то везде ролики про webpack4 и инфа и примеры уже не актуальны.
@maxgraph
@maxgraph 3 жыл бұрын
пожалуйста)
@IT_psychopath
@IT_psychopath 3 жыл бұрын
у ого на linux и macos не ставиться дополнительное к плагину imagemin-webpack то вот решение: Linux: sudo apt-get install libtool automake autoconf nasm OS X: brew install libtool automake autoconf nasm
@Uncaught_in_promise
@Uncaught_in_promise 2 жыл бұрын
Кстати, уже Webpack обновился до след. версии. Есть смысл смотреть это видео и повторять?
@maxgraph
@maxgraph 2 жыл бұрын
не проверял)
@zubrdens
@zubrdens 3 жыл бұрын
картинка из стилей импортируется в корень app в нечитаемом формате, ничего не помогает.
@xiii4526
@xiii4526 3 жыл бұрын
Если у кого-то сервак не работает, то ставьте версию "webpack-cli": "^3.3.12". Запуск такой - "start": "cross-env NODE_ENV=development webpack-dev-server --mode development --open"
@monoteiz
@monoteiz 3 жыл бұрын
Плагины оптимизации для текущей версии WebPack устарели и нестабильно работают, к примеру, у меня не робят, даже image-minimizer-webpack-plugin, на который ссылает imagemin-webpack работает с версией 4. Ждем их обновления
@h3ckphy246
@h3ckphy246 2 жыл бұрын
А когда нужно использовать webpack? Я хочу сверстать например небольшой интернет-магазин. Как понять, что мне нужен webpack, а не gulp?
@maxgraph
@maxgraph 2 жыл бұрын
Для веб приложений вебпак, для вёрстки галп
@h3ckphy246
@h3ckphy246 2 жыл бұрын
@@maxgraph а что такое "веб приложение"? Типо фигмы в браузере?)
@h3ckphy246
@h3ckphy246 2 жыл бұрын
@@maxgraph ????
@maxgraph
@maxgraph 2 жыл бұрын
Да, как вариант. Или гугл диск например)
@dobrMAV
@dobrMAV 3 жыл бұрын
Подскажите пожалуйста,Webpack устанавливается глобально?Много места на компе занимает?Комп слабенький.
@maxgraph
@maxgraph 3 жыл бұрын
Можно и локально, если глобально не хочется) не много
@dobrMAV
@dobrMAV 3 жыл бұрын
@@maxgraph Спасибо за ответ!Наверное лучше глобально установить.Больше переживаю чтобы слабый комп.потянул.Node.js установил теперь хочу попробовать установить Webpack и сделать свою первую сборку в жизни.
@maxgraph
@maxgraph 3 жыл бұрын
Все получится)
@dobrMAV
@dobrMAV 3 жыл бұрын
@@maxgraph Спасибо!
@im-a-mace
@im-a-mace 4 жыл бұрын
Спасибо за видео, очень полезно! Одназначно на этой сборке я бы посмотрел вёрстку! А на счет webpack'a возникли некоторые вопросы: 1. Все эти ритуалы делаются 1 раз, а после можно вебпак сборку использовать повторно? 2. Нужно ли шарить в js для сборки? 3. Можно ли собрать вебпак вслепую, то есть просто повторить что на видео? Ибо последовательность действий в видео мне не очень интуитивно понятно, вероятно из-за того что в js не очень понимаю
@maxgraph
@maxgraph 4 жыл бұрын
1. да 2. для сборки в вебпак - да 3. по идее да, но лучше разбираться)
@martel5532
@martel5532 2 жыл бұрын
43:45 автор сам не понимает что делает, но в этом и вся суть вебпака, какое-то нагромождение команд и конфигураций. В самом начале он говорит что у нас будет одна проблемка, но о ней чуть позже... проблемок будет много и постоянно, поверьте) Импортировать в js файл html и сыы, чтобы он потом автоматически подключался в html файле. Хитро
@maxgraph
@maxgraph 2 жыл бұрын
Кажется, вам нужно пересмотреть видео внимательнее)
@moovlaze9071
@moovlaze9071 2 жыл бұрын
А разве можно сделать как-то подругому?
@valerypobelenskiy1001
@valerypobelenskiy1001 4 жыл бұрын
Максим привет, слушай возникает ошибка при запуске Хоста 3000 пишит (node:348) UnhandledPromiseRejectionWarning: ValidationError: webpack Dev Server Invalid Options options should NOT have additional properties я грешу на свою винду старую 7 ка и Service-Pack 1 у меня стоит
@maxgraph
@maxgraph 4 жыл бұрын
Привет, судя по ошибке - заданы какие-то неверные опции для сервера. Ничего лишнего не делали?)
@AndreyEricksonGame
@AndreyEricksonGame 3 жыл бұрын
Почему-то у меня папка с картинками после билда, появляется при условии импорта этой картинки в файл main.js. А как можно обойтись без импорта картинки в main.js? Аналогичная ситуация со шрифтами. Шрифты подключены, но при билде папка с шрифтами не создается
@maxgraph
@maxgraph 3 жыл бұрын
я по-моему это показывал как раз в видео)
@AndreyEricksonGame
@AndreyEricksonGame 3 жыл бұрын
теперь работает. Только немного странно. У меня в rules, где я обрабатываю фотки, указан name: `./img/${filename('[ext]')}`. То есть после билда у меня должна появится папка img с картинками в 'app', но почему-то если я изменю название папки в папке 'src' вручную, например, на images, то после билда будет папка images, а не img. Почему так?
@maxgraph
@maxgraph 3 жыл бұрын
тут уж надо код смотреть.
@КоврижкоНиколай
@КоврижкоНиколай 3 жыл бұрын
@@maxgraph не создается папки fonts, даже при подключении
@maxgraph
@maxgraph 3 жыл бұрын
Она не должна создаваться. Посмотрите сборку, она там есть
@lithium5325
@lithium5325 3 жыл бұрын
Не сегоднешний день сборка не работает, многие пакеты устарели
@maxgraph
@maxgraph 3 жыл бұрын
Это нормально)
@vitalb7907
@vitalb7907 4 жыл бұрын
Опа, ты на вебпак перешел?)
@maxgraph
@maxgraph 4 жыл бұрын
нет)
@sofyap.2153
@sofyap.2153 3 жыл бұрын
Два раза пересобрала по Вашему видео, но все равно ошибка в загрузке картинки((
@maxgraph
@maxgraph 3 жыл бұрын
Скорее всего какие-то пакеты просто обновились и работают иначе
@zimtos2616
@zimtos2616 4 жыл бұрын
При установки webpack-dev-сервер появилась ошибка. Может кто знает как починить? помогите пж npm ERR! code ERESOLVE npm ERR! Cannot read property 'length' of undefined
@maxgraph
@maxgraph 4 жыл бұрын
код надо видеть)
@zimtos2616
@zimtos2616 4 жыл бұрын
@@maxgraph package.json { "name": "chenlion", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "webpack" }, "author": "ilya", "license": "ISC", "devDependencies": { "webpack": "^5.8.0", "webpack-cli": "^4.2.0" } } Терминал. Когда прописываю команду для подключения webpack-dev-server PS B:\ilya\chen> npm i webpack-dev-server --save-dev npm ERR! code ERESOLVE npm ERR! Cannot read property 'length' of undefined npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Ilya\AppData\Local pm-cache\_logs\2020-11-29T14_41_30_072Z-debug.log
@lion-gg
@lion-gg 4 жыл бұрын
@@zimtos2616 npm крашит... из github issues нашел что то похожее в его старых версиях. Пропробуй ноду (npm c нодой идет) переустановить/обновить на последнюю LTS с офф сайта nodejs.org. Какая версия npm ? (npm -v)
@dsogs9961
@dsogs9961 4 жыл бұрын
@@zimtos2616 мда
@carry-on-chaos4032
@carry-on-chaos4032 2 жыл бұрын
Всем привет, может кто-то подскажет, как настроить webpack, так что бы я смог свой html разбивать на модули, например, так же как работает gulp-file-include
@monoteiz
@monoteiz 3 жыл бұрын
16:50 хеш нужен только на dev, спутали условие
@xD-hu3gw
@xD-hu3gw 3 жыл бұрын
когда там можно уже пихать в сборку свгспрайт?
@maxgraph
@maxgraph 3 жыл бұрын
может уже и можно, не проверял)
@xD-hu3gw
@xD-hu3gw 3 жыл бұрын
@@maxgraph сможете сделать видос много страничник + паг + свг ?=)
@maxgraph
@maxgraph 3 жыл бұрын
Дадите макет - сделаю))
@xD-hu3gw
@xD-hu3gw 3 жыл бұрын
@@maxgraph та нее) я про веб сборку
@maxgraph
@maxgraph 3 жыл бұрын
А, ну может)
@IT_psychopath
@IT_psychopath 3 жыл бұрын
авто префексов в css не хватает... или он с коробки это умеет? а так, спасибо, то что надо.)))
@alexeipopov3319
@alexeipopov3319 3 жыл бұрын
Когда марафон?
@anton-trofimov
@anton-trofimov 3 жыл бұрын
Подскажите плиз, кто может, как в эту сборку добавить autoprefixer? И slick-carousel стили не удается подключить, выдает ошибку
@codememory
@codememory 3 жыл бұрын
А тебе по кайфу чистить кэш постоянно в режиме dev? Если нет, то и хэш нужно для файла давать не только в режиме прода
@maxgraph
@maxgraph 3 жыл бұрын
Именно поэтому все стоит на продакшн :)
@nikitaspasatelev7049
@nikitaspasatelev7049 3 жыл бұрын
Автоматическая перезагрузка не работает, прелоадер на sass
@adamholo7079
@adamholo7079 3 жыл бұрын
Такая же ситуация. Пишёт мол не понимает что написано в main.scss. Сижу уже 3 часа не понимаю почему он не может прочитать scss
@nikitaspasatelev7049
@nikitaspasatelev7049 3 жыл бұрын
@@adamholo7079 У меня понимает что пишется в scss, только обновлять - только вручную работает. Это значит с прелоадером где-то у меня косяк. Долго просидел, даже уже в режим списывания перешел))) Не могу понять, где в настройках поменять
@ВадимБогданов-щ2ы
@ВадимБогданов-щ2ы 3 жыл бұрын
Добавь в module.exports target: isDev ? 'web' : 'browserslist'
@AloneInThisWorld.
@AloneInThisWorld. 3 жыл бұрын
Не знаю, актуально или нет. Но вот ссылка с документации webpack.js.org/plugins/mini-css-extract-plugin/#common-use-case . Показан правильный вариант использования css, scss лоадеров. У меня заработало.
@City__Walker
@City__Walker 3 жыл бұрын
Может тогда проще сразу create-react-app если конечно разбирается человек
@justaman834
@justaman834 3 жыл бұрын
Что там по спрайтам?)
@maxgraph
@maxgraph 3 жыл бұрын
надо будет проверить, что они там сделали) выпущу может дополнение
@lk6618
@lk6618 2 жыл бұрын
А зачем вообще нужен сборщик файлов? Какие функции он выполняет? Где об этом детально?
@maxgraph
@maxgraph 2 жыл бұрын
Это практическое руководство по вебпаку, а не теория сборщиков
@iGotton
@iGotton 4 жыл бұрын
+
@AndreyEricksonGame
@AndreyEricksonGame 3 жыл бұрын
Помогите плиз решить данную проблему
Human vs Jet Engine
00:19
MrBeast
Рет қаралды 200 МЛН
Рекомендации по верстке сайта. Чеклист верстки
18:42
MaxGraph - cайты как страсть
Рет қаралды 9 М.
Зар Захаров. А нужен ли нам еще Webpack?
42:27
CodeFest Russia
Рет қаралды 2,5 М.
Добавляем Webpack в готовый проект на чистом JS
21:40
ArtistJS - обучение html, css, js
Рет қаралды 864
Human vs Jet Engine
00:19
MrBeast
Рет қаралды 200 МЛН