Size: a a a

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

2020 February 10

В

Валентин in Webpack — русскоговорящее сообщество
Здравствуйте
Три вопроса

1. Настроил вебпак для динамических импортов.
Раньше бандл разделялся на мой код и node_modules.
Теперь разделяется на то что подгружается по запросу и всё остальное.
Хотелось бы "всё остальное" опять же разделять на моё и node_modules.
Если прописываю в optimization test /node_modules/, то сборка отрабатывает вообще некорректно и в динамических бандлах ничего не оказывается, потому что node_modules отфильтровывается.

2. При сборке вебпак пишет, что превышен рекомендуемый лимит на размер одного файла, как сделать чтобы он сам разбивал как надо на сколько надо частей?

3. Как сделать чтобы сорцмапы не генерировались для пакетов из node_modules? Пробовал smart-source-map-loader и source-map-loader с параметром exclude /node_modules/, не помогло. Пробовал SourceMapDevToolPlugin, тоже не реагирует.
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Валентин
Здравствуйте
Три вопроса

1. Настроил вебпак для динамических импортов.
Раньше бандл разделялся на мой код и node_modules.
Теперь разделяется на то что подгружается по запросу и всё остальное.
Хотелось бы "всё остальное" опять же разделять на моё и node_modules.
Если прописываю в optimization test /node_modules/, то сборка отрабатывает вообще некорректно и в динамических бандлах ничего не оказывается, потому что node_modules отфильтровывается.

2. При сборке вебпак пишет, что превышен рекомендуемый лимит на размер одного файла, как сделать чтобы он сам разбивал как надо на сколько надо частей?

3. Как сделать чтобы сорцмапы не генерировались для пакетов из node_modules? Пробовал smart-source-map-loader и source-map-loader с параметром exclude /node_modules/, не помогло. Пробовал SourceMapDevToolPlugin, тоже не реагирует.
"В динамических модулях ничего не остаётся, потому что модули отфильтровываются", "разделялось на мое и node_modules"
источник

В

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

A

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

A

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

В

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

A

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

В

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

A

Alex CherryTea in Webpack — русскоговорящее сообщество
Валентин
Желательно без дублей конечно
В динамические я вынес огромные html2canvas и gojs, которые занимают больше половины бандла, а используются нечасто
Не думаю что им что-то понадобится со стороны
Но хотелось бы на будущее чтобы вебпак сам контролил размер и количество чанков, просто хочется нод-модули отделить для того чтобы он их не пересобирал постоянно
Ну он по умолчанию как раз и выделяет - главный чанк с которого старт, коммон чанк в котором общие зависимости, вендорс в котором node_modules и чанки динамические
источник

A

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

В

Валентин in Webpack — русскоговорящее сообщество
Alex CherryTea
Ну он по умолчанию как раз и выделяет - главный чанк с которого старт, коммон чанк в котором общие зависимости, вендорс в котором node_modules и чанки динамические
По умолчанию это с дефолтными настройками?
У меня сейчас так в output:
filename: '[name].development.js',
chunkFilename: '[name].development.js',
источник

В

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

В

Валентин in Webpack — русскоговорящее сообщество
И common нет
источник

A

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

В

Валентин in Webpack — русскоговорящее сообщество
Alex CherryTea
версия вебпака?
"webpack": "^4.41.2",
источник

В

Валентин in Webpack — русскоговорящее сообщество
Старый уже, да?
источник

A

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

В

Валентин in Webpack — русскоговорящее сообщество
Странновато
источник

A

Alex CherryTea in Webpack — русскоговорящее сообщество
вот здесь описано как по дефолту вебпак чанкует
https://webpack.js.org/plugins/split-chunks-plugin/
источник

EM

Eugene Maltsev in Webpack — русскоговорящее сообщество
"webpack": "^4.16.0", 😭
источник