Почему создание приложения React/Vite занимает так много времени?

Я пытаюсь создать простое приложение с помощью React, но застрял на первом этапе. Кажется, он вообще ничего не делает. Пробовал как с npx create-react-app, так и с npm create vite@latest:

Анимация загрузки зависает на 10 часов, то же самое и с Vite, и с React.

Использование последней версии Node.

🤔 А знаете ли вы, что...
React подходит для разработки как небольших веб-сайтов, так и крупных приложений.


76
3

Ответы:

Создание приложения React или Vite иногда может занять больше времени, чем ожидалось, по нескольким причинам:

  1. Скорость сети

  2. Узловые модули

  3. Системные ресурсы

  4. Проблемы с менеджером пакетов

  5. Временные файлы

  6. Фоновые процессы


Есть много возможных причин, по которым npm install занимает так много времени. Обычно это занимает всего несколько секунд, особенно такие шаблоны, как create-react-app. Что вам следует сделать, это сузить проблему:

  1. Проблемы с сетью

Если у вас нестабильное или медленное подключение к Интернету, оно будет медленнее. npm install загружает библиотеки JavaScript из реестра пакетов npm, а затем сохраняет их локально в папке node_modules.

Попробуйте запустить ping google.com в терминале. Вы получаете такой результат?

Вы также можете попробовать speedtest.net . Это также скажет вам, насколько высока ваша скорость загрузки.

  1. Системные ресурсы или фоновые процессы

У вас работают другие приложения? Иногда это не имеет большого значения, но вы можете попробовать закрыть все остальные процессы.

  1. Узловые модули

Иногда решение так же просто, как удаление папки node_modules. Как только вы это сделаете, запустите npm install еще раз.

Я не могу точно объяснить, почему это займет 10 часов, но это хорошая отправная точка, которая поможет вам изолировать проблему. Тот факт, что то же самое произошло с Vite и React, предполагает одну из вышеперечисленных проблем.


Решено

Как сообщил @jonrsharpe, Node v22.5 фактически не работает, решение состоит в том, чтобы перейти на версию LTS.