Size: a a a

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

2019 August 27

n⚡

neomad ⚡️ in Webpack — русскоговорящее сообщество
Добрый день, имеется мультистейдж сборка в докере, в первом стейдже собирается билд серверного js, в следующем стейдже запускается этот код. как скопировать только нужные модули для запуска бандла в конечный стейдж? есть идея юзать плагин https://www.npmjs.com/package/generate-package-json-webpack-plugin, чтобы устанавливать только нужные для запуска бандла модули. Есть ли у вас какие домыслы?
источник

n⚡

neomad ⚡️ in Webpack — русскоговорящее сообщество
есть плохой вариант это копировать весь в конечный стейдж, но это повысит размер контейнера и скопируются лишние модули
источник

RU

Roman Usherenko in Webpack — русскоговорящее сообщество
neomad ⚡️
Добрый день, имеется мультистейдж сборка в докере, в первом стейдже собирается билд серверного js, в следующем стейдже запускается этот код. как скопировать только нужные модули для запуска бандла в конечный стейдж? есть идея юзать плагин https://www.npmjs.com/package/generate-package-json-webpack-plugin, чтобы устанавливать только нужные для запуска бандла модули. Есть ли у вас какие домыслы?
после того как ты сбилдил, единственные файлы, которые тебе нужны для запуска - это то, что ты сбилдил
источник

n⚡

neomad ⚡️ in Webpack — русскоговорящее сообщество
Roman Usherenko
после того как ты сбилдил, единственные файлы, которые тебе нужны для запуска - это то, что ты сбилдил
В случае с серверным кодом который запускается нодой такое разве возможно?
источник

n⚡

neomad ⚡️ in Webpack — русскоговорящее сообщество
с клиентским да
источник

RU

Roman Usherenko in Webpack — русскоговорящее сообщество
хм...
источник

n⚡

neomad ⚡️ in Webpack — русскоговорящее сообщество
Есть бинарные зависимости же
источник

RU

Roman Usherenko in Webpack — русскоговорящее сообщество
нда, это я просто сильно к клиенту привык)
источник

RU

Roman Usherenko in Webpack — русскоговорящее сообщество
neomad ⚡️
Есть бинарные зависимости же
можно попробовать все билд либы запихнуть в devDependencies, а во втором стейдже их не ставить
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Я бы разделил репы - фронт и бек
источник

A

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

A

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

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Ну или хотябы в разных дирикториях
источник
2019 August 28

JS

John Smith in Webpack — русскоговорящее сообщество
Добрый день
Как-то можно ручками "помогать" определять вебпаку, что включать, а что не включать в те или иные чанки? Использую loadable-components, много модулей, для пользователей есть права доступа к модулям.
Допустим, в личном кабинете есть модуль админки, который доступен прям вообще не всем.
Запускаю главную страницу личного кабинета и у меня грузится чанки, в которых, судя по имени, есть составные части админки. А для этого пользователя админка вообще недоступна. На главной ЛК 146% никаких частей и импортов админки не используется.
источник

JS

John Smith in Webpack — русскоговорящее сообщество
Хочется уменьшить размер чанков и не включать в них то, что не нужно в данный момент
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
John Smith
Хочется уменьшить размер чанков и не включать в них то, что не нужно в данный момент
Отталкивайтесь от того что Вебпак умный и проверенный инструмент, никакого рандома в нем нет. Глобально при разработке ПО любые "помогания ручками" очень скоро приводят к багам. И даже если у вас особый случай (скорее всего нет) надо хорошенько разобраться почему так происходит прежде чем помагать. Этим я и рекомендую заняться, разобраться хорошенько в том почему вебпак включил часть админки (если это действительно она) в основной бандл. Чанки формируются на основе графа зависимостей, значит эта часть как-то связана на прямую с основными приложением.
источник

A

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

JS

John Smith in Webpack — русскоговорящее сообщество
Alex CherryTea
Отталкивайтесь от того что Вебпак умный и проверенный инструмент, никакого рандома в нем нет. Глобально при разработке ПО любые "помогания ручками" очень скоро приводят к багам. И даже если у вас особый случай (скорее всего нет) надо хорошенько разобраться почему так происходит прежде чем помагать. Этим я и рекомендую заняться, разобраться хорошенько в том почему вебпак включил часть админки (если это действительно она) в основной бандл. Чанки формируются на основе графа зависимостей, значит эта часть как-то связана на прямую с основными приложением.
В это я охотно верю, косяков пока не было, но мне бы хотелось получить нЕсколько другой принцип на выходе в одном отдельно взятом проекте: у меня есть, условно, 20 штук модулей, загружаемых через loadable-components, я хочу получить 20 чанков + 1 общий, в котором какая-то общая часть используется.
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
John Smith
В это я охотно верю, косяков пока не было, но мне бы хотелось получить нЕсколько другой принцип на выходе в одном отдельно взятом проекте: у меня есть, условно, 20 штук модулей, загружаемых через loadable-components, я хочу получить 20 чанков + 1 общий, в котором какая-то общая часть используется.
У меня такой же проект, тоже все роуты loadable и работает как надо
источник

JS

John Smith in Webpack — русскоговорящее сообщество
У меня нет роутов
источник