Size: a a a

Webpack — русскоговорящее сообщество

2020 November 23

AB

Alexander Bareyko in Webpack — русскоговорящее сообщество
Alex CherryTea
Ну так поэтому и говорят - не далайте микрофронты если можно сделать без них
так я то только за, менеджмент хочет релизиться по отдельности
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Alexander Bareyko
так я то только за, менеджмент хочет релизиться по отдельности
А в каких тогда ситуациях у вас возникнет кейс когда надо собрать заново вообще все?
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Собирайте только то что релизится/ то что тестируется/ то что разрабатывается
источник

AB

Alexander Bareyko in Webpack — русскоговорящее сообщество
Alex CherryTea
А в каких тогда ситуациях у вас возникнет кейс когда надо собрать заново вообще все?
например, для локальной разработки или интеграционных тестов
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Ну разок для интеграционного теста вроде не должно быть проблемой
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Alexander Bareyko
например, для локальной разработки или интеграционных тестов
Анивей, вебпак так не работает как вы себе представляете. Попробуйте или другой инструмент сборки, или поищите узкие места где можно сократить время сборки. По максимуму юзайте dll плагин там, замените Бабель на что-нибудь типа es-build
источник

AB

Alexander Bareyko in Webpack — русскоговорящее сообщество
Alex CherryTea
Ну разок для интеграционного теста вроде не должно быть проблемой
разок для интеграционного, разок для CI/CD, разок сбилдить на локальной машине и таким образом появляются +3-5 часов ожидания
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Но принцип вебпака - это построить одно дерево зависимостей для приложения. Энтри поинты это всеголишь доп ветки на входе
источник

AB

Alexander Bareyko in Webpack — русскоговорящее сообщество
Alex CherryTea
Анивей, вебпак так не работает как вы себе представляете. Попробуйте или другой инструмент сборки, или поищите узкие места где можно сократить время сборки. По максимуму юзайте dll плагин там, замените Бабель на что-нибудь типа es-build
как я понял из копаний, вебпак мало что делает сам, лишь компилит, остальное решается с помощью хуков. Тот же SplitChunksPlugin перестраивает этот граф после компилации как ему пожелается, насколько я понимаю, нет?
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Вообще нет
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Главная проблема в вашем случае а том что вебпак при первом импорте помечает модуль как - уже заимпорчен, игнорирую. И двигает его в иерархии (для порядка загрузки)
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Это очень грубо говоря, но уже на этом этапе углубления очевидно что нельзя просто взять и распилить на куски билд после сборки
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
На этом держится и тришейк и дедупликация вебпака
источник

AB

Alexander Bareyko in Webpack — русскоговорящее сообщество
Alex CherryTea
Главная проблема в вашем случае а том что вебпак при первом импорте помечает модуль как - уже заимпорчен, игнорирую. И двигает его в иерархии (для порядка загрузки)
Разве нельзя на этом моменте подключиться хуком, сдететкировать, что модуль был заимпорчен уже другим энтрипоинтом и пометить, что он ещё не был заимпорчен?
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Alexander Bareyko
Разве нельзя на этом моменте подключиться хуком, сдететкировать, что модуль был заимпорчен уже другим энтрипоинтом и пометить, что он ещё не был заимпорчен?
Не знаю как в 5, в 4 легальных способов нету
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Alexander Bareyko
Разве нельзя на этом моменте подключиться хуком, сдететкировать, что модуль был заимпорчен уже другим энтрипоинтом и пометить, что он ещё не был заимпорчен?
Даже если можно было бы, в своем плагине вы б пол вебпака переписали в итоге потому что повлиять оттуда надо почти на каждую стадию
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Микрофронтенд к слову на то и микрофронтенд что его можно и нужно разрабатывать отдельно
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Благодаря тому что каждая часть не зависит от остальных
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Alexander Bareyko
Разве нельзя на этом моменте подключиться хуком, сдететкировать, что модуль был заимпорчен уже другим энтрипоинтом и пометить, что он ещё не был заимпорчен?
А для того чтобы релизить модули  отдельно микрофронтенд не нужен, для этого нужна лерна и монореп
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Alexander Bareyko
Разве нельзя на этом моменте подключиться хуком, сдететкировать, что модуль был заимпорчен уже другим энтрипоинтом и пометить, что он ещё не был заимпорчен?
И если вам вдруг нужны интеграционные тесты микрофронта - вы просто скачивайте релизнутые версии остальных модулей, а билдите только свой кусочек
источник