ArtificialMan3000 / cosmostars

0 stars 0 forks source link

Почему долго грузится на стороне сервера? (из-за redux-persist?) (из-за serviceWorkers?) (из-за ошибок в ssr билдинге?) #26

Open ArtificialMan3000 opened 1 week ago

ArtificialMan3000 commented 1 week ago

После пересборки приложения сайт долго грузится (долго идёт ответ от сервера). На сервере в консоли во время этой загрузки в какой-то момент появляется ошибка от redux-persist. Это так же может быть из-за serviceWorker. Так как долгая загрузка происходит также после удаления кеша или ctrl-f5, а после загрузки в консоли браузера видно кучу загружающихся файлов с сервера. При попытке дебага файла index.ts было обнаружено множество исключений происходящих во время работы с ssr. Они все отлавливаются во внутренностях vite. Почти все они (или все) касаются невозможности резолвинга импорта для КАЖДОГО импорта в КАЖДОМ файле включая ВСЕ (может быть не совсем все) задействованные файлы в node_modules. Возможно долгое время загрузки является следствием гигантского размера билда и обработки ошибок в каждом импорте. При импорте компонентов из библиотек @mui/material и @mui/icons-material происходит подгрузка ВСЕХ компонентов в этих библиотеках, а их очень много (особенно в icons-material). Это решается подключением babel плагина babel-import-plugin, который переписывает импорты из целой библиотеки на точечные импорты из конкретного файла. Также выяснено, что включение serviceWorkers замедляет процесс загрузки страницы в режиме dev примерно в два раза. Сейчас загрузка страницы в режиме dev без serviceWorkers и с babel-import-plugin занимает 40 секунд, если кеш vite сформирован. Если не сформирован, то 2 минуты 30 секунд.

ArtificialMan3000 commented 1 week ago