Size: a a a

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

2019 December 24

DT

Daniil Tchernyavsky in Webpack — русскоговорящее сообщество
Ну тогда уж брать cdn 🙃
источник

DT

Daniil Tchernyavsky in Webpack — русскоговорящее сообщество
источник

ФА

Фронтенд пастор Антоний in Webpack — русскоговорящее сообщество
Вадим
ну вот я еще вариант подкинул - просто вставлять в html скрипты реакта и юзать http2
очевидный профит - время сборки сократиться 🙂
Проще настроить вебпак, заставив вынести реакт в отдельные чанки
источник

В

Вадим in Webpack — русскоговорящее сообщество
Фронтенд пастор Антоний
Проще настроить вебпак, заставив вынести реакт в отдельные чанки
прошу прощения, но ведь проще разместить в html тэги скриптов чем собирать бандлы - и собирать их не придется
источник

ФА

Фронтенд пастор Антоний in Webpack — русскоговорящее сообщество
Вадим
прошу прощения, но ведь проще разместить в html тэги скриптов чем собирать бандлы - и собирать их не придется
на сборку 100кб уходят миллисекунды, на понимание "откуда у нас вообще взялся реакт-дом" и раскопки багов с асинхронной загрузкой - часы
источник

В

Вадим in Webpack — русскоговорящее сообщество
Фронтенд пастор Антоний
на сборку 100кб уходят миллисекунды, на понимание "откуда у нас вообще взялся реакт-дом" и раскопки багов с асинхронной загрузкой - часы
не согласен 🙂
если у вас это один раз принято то не нужно никакие расследования проводить да и компонентам всеравно откуда реакт им подали )
источник

ФА

Фронтенд пастор Антоний in Webpack — русскоговорящее сообщество
Вадим
не согласен 🙂
если у вас это один раз принято то не нужно никакие расследования проводить да и компонентам всеравно откуда реакт им подали )
> один раз принято
так создаются легаси, технический долг и высокий порог погружения
источник

ФА

Фронтенд пастор Антоний in Webpack — русскоговорящее сообщество
следуйте правилам платформы и комьюнити, а не внутренним приколам компании
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
@Vadim_Budarin извинюсь я все пропустил, но вроде на все вопросы уже отвелили, или нет?
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Вадим
- Тришейкинг для React и React DOM ничего не даст

- Порядок загрузки определить можно в html расположив скрипты в нужном порядке

- Инкапсуляция против глобально доступных объектов (при том что в исходном коде реакт будет по-прежнему импортироваться через import) - профит не очевидный против того что отдельные скрипты загрузятся и распарсятся быстрее чем последовательный парсинг огромного бандла

Не могу пока понять пока в чем очевидные и весомы плюсы за то чтобы вендорные библиотеки запихивать в бандл...
1) Tree shaking это вобще не про дом, это про дерево зависимостей.
2) Да. В ручную правильно расположить, в ручную отследить момент загрузки каждого скрипта в каждом компоненте где он не обходим, и заблокировать рендер до тех порка не будет загружено все конечно можно... но то ли это что вы хотите?
3) В современных проектах огромное дерево зависимостей, в случае импорта через cdn у вас нет никакого шанса их (зависимости) переиспользовать
источник

В

Вадим in Webpack — русскоговорящее сообщество
Alex CherryTea
1) Tree shaking это вобще не про дом, это про дерево зависимостей.
2) Да. В ручную правильно расположить, в ручную отследить момент загрузки каждого скрипта в каждом компоненте где он не обходим, и заблокировать рендер до тех порка не будет загружено все конечно можно... но то ли это что вы хотите?
3) В современных проектах огромное дерево зависимостей, в случае импорта через cdn у вас нет никакого шанса их (зависимости) переиспользовать
все верно
- тришейкин для React и React DOM не имеет смысла - из пестни слов низзя выкидывать 🙂
- расположив 2 скрипта один раз в html-шаблоне и указав им defer мы обеспечим порядок их выполнения по мере подгрузки все зависимостей
- импорт через общественный cdn - это моветон для серьезных проектов - вся статика должна грузиться с собственного сервера

и таки да вопрос решен - полагание библиотек в бандл делалось лишь с одной целью - гарантировать порядок загрузки и исполнения
спасибо всем за помощь!
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Вадим
все верно
- тришейкин для React и React DOM не имеет смысла - из пестни слов низзя выкидывать 🙂
- расположив 2 скрипта один раз в html-шаблоне и указав им defer мы обеспечим порядок их выполнения по мере подгрузки все зависимостей
- импорт через общественный cdn - это моветон для серьезных проектов - вся статика должна грузиться с собственного сервера

и таки да вопрос решен - полагание библиотек в бандл делалось лишь с одной целью - гарантировать порядок загрузки и исполнения
спасибо всем за помощь!
cdn или не cdn в данном пункте значения не имеет, значение имеет то что без вебпака вы используете уже собранные библиотеки в которых код уже "запечен", вебпак же выделит общие зависимости (куски кода по сути) и переиспользует их
источник

A

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

A

Alex CherryTea in Webpack — русскоговорящее сообщество
P.S. если ваши зависимости это условные две либы а-ля  moment.js и jquery то вебпак вероятно не даст особых преумуществ
источник

В

Вадим in Webpack — русскоговорящее сообщество
Alex CherryTea
P.S. если ваши зависимости это условные две либы а-ля  moment.js и jquery то вебпак вероятно не даст особых преумуществ
Да у нас именно так - только те либы которые не помогут в тришейкинге
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Вадим
Да у нас именно так - только те либы которые не помогут в тришейкинге
если вам просто связать красиво бабель с минификатором, да сорсмап сгенерить - посмотрите в сторну rollup
источник

В

Вадим in Webpack — русскоговорящее сообщество
Alex CherryTea
если вам просто связать красиво бабель с минификатором, да сорсмап сгенерить - посмотрите в сторну rollup
Уже к вебпаку за столько лет настроек прикипели :)
Кстати на стандартной связке TS+Babel+webpack как то пытался с помощью SourceMap плагина получить соурсмапы - не вышло
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Вадим
Уже к вебпаку за столько лет настроек прикипели :)
Кстати на стандартной связке TS+Babel+webpack как то пытался с помощью SourceMap плагина получить соурсмапы - не вышло
а что там у вас за такой древний вебпак которому плагин нужен для сорсмапов?
источник

В

Вадим in Webpack — русскоговорящее сообщество
И руки пока не дошли как собрать их - ведь к бебпаку код уже приходит почищенный от типов и сормапы теперь кого и как нам получать?
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Вадим
И руки пока не дошли как собрать их - ведь к бебпаку код уже приходит почищенный от типов и сормапы теперь кого и как нам получать?
не не не, лоадер тс-а должен быть в вебпаке, поэтому у вас и не получились сорсмапы
источник