Webpack для проекта с большим модулем — сокращение времени сборки

#reactjs #webpack #babel-loader

#reactjs #webpack #babel-загрузчик

Вопрос:

В настоящее время в моем проекте около 10000 пользовательских классов, а время сборки занимает минуты.

Это проект react, который использует webpack 5, babel-loader 8.0.

Мне удалось сократить время загрузки, добавив cache = true и постоянный кэш для webpack 5.

Это действительно большой проект, и в настоящее время для приложения есть только одна точка входа.

В настоящее время я занимаю около 3 минут, но хотел бы спросить, каков правильный подход для снижения этого? Должен ли я реорганизовать свое приложение в библиотеки, чтобы избежать сборки?

Большая часть времени тратится на сборку модулей. В приложении действительно много модулей. Какие у меня варианты продвижения вперед?

69% сборки 3794/3816 модулей.

Согласно плагину progres

 <w> [webpack.Progress] 131515ms building
<i> [webpack.Progress] 80ms finish module graph
<i> [webpack.Progress] 97ms dependencies optimization
<i> [webpack.Progress] 92ms chunk graph
<i> [webpack.Progress] 31ms advanced chunk optimization
<w> [webpack.Progress] 22680ms chunk modules optimization
<i> [webpack.Progress] 65ms module order optimization
<i> [webpack.Progress] 20ms module id optimization
<i> [webpack.Progress] 12ms after chunk id optimization
<i> [webpack.Progress] 373ms hashing
<w> [webpack.Progress] 6864ms chunk assets processing
<i> [webpack.Progress] 14ms additional chunk assets processing
  

Спасибо,

Комментарии:

1. В моем проекте время сборки составляет ~ 3 минуты, но во время разработки я использую webpack-dev-server, а время повторной сборки после изменений составляет <5 секунд, так почему нужно заботиться об обычном времени сборки?

2. Да, на самом деле мы уже используем webpack-dev-middleware, а не промежуточное программное обеспечение. Изменения отражаются быстро, но для запуска сервера все равно требуется много времени. Есть ли у них способ кэшировать предыдущие результаты путем загрузки с диска? Или есть способ, которым я все еще могу сократить 3 минуты, несмотря на большое количество классов.