#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 минуты, несмотря на большое количество классов.