Каким образом можно развернуть сайт, созданный с помощью Vite и React, на хостинге Timeweb?

Я создал сайт с использованием Vite и React, но столкнулся с проблемой: на YouTube недостаточно уроков по деплою приложений, созданных на Vite и React. Не могли бы вы помочь мне с этой задачей?
  • 31 декабря 2024 г. 17:03
Ответы на вопрос 3
Развернуть сайт, созданный с использованием Vite и React, на хостинге Timeweb достаточно просто, но требует нескольких шагов. Давайте рассмотрим процесс поэтапно.

### Шаг 1: Подготовка проекта для сборки

Сначала убедитесь, что ваш проект готов к сборке:

1. Откройте свой проект в терминале.
2. Выполните команду для создания сборки:

   ```bash
   npm run build
   ```

Эта команда создаст оптимизированную версию вашего приложения в папке `dist`.

### Шаг 2: Подключение к Timeweb

1. **Зарегистрируйтесь или войдите** в свой аккаунт Timeweb.
2. Создайте новый сайт через панель управления, если вы этого еще не сделали.
3. Получите доступ к вашему хостингу через FTP или с помощью встроенного файлового менеджера.

### Шаг 3: Загрузка файлов на хостинг

1. Подключитесь к FTP с помощью клиента, например, FileZilla, или используйте файловый менеджер Timeweb.
2. Перейдите в корневую папку вашего сайта (обычно это `public_html`).
3. Загрузите содержимое директории `dist` вашего проекта в эту папку. Не загружайте саму папку `dist`, просто ее содержимое.

### Шаг 4: Настройка веб-сервера

Vite создает SPA (Single Page Application), и для корректной работы вам может понадобиться настроить маршрутизацию.

1. В вашем проекте, в корневой директории, создайте файл `.htaccess` (если его нет) или отредактируйте существующий.
2. Добавьте в файл следующее содержимое:

   ```apache
   <IfModule mod_rewrite.c>
       RewriteEngine On
       RewriteBase /
       RewriteRule ^index\.html$ - [L]
       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteCond %{REQUEST_FILENAME} !-d
       RewriteRule . /index.html [L]
   </IfModule>
   ```

Этот код перенаправляет все запросы к несуществующим файлам на `index.html`, что позволяет вашему приложению Vite и React обрабатывать маршруты.

### Шаг 5: Проверка работы сайта

После загрузки файлов и настройки `.htaccess`, попробуйте зайти на ваш сайт по URL. Если всё сделано правильно, ваше приложение должно загружаться и работать корректно.

### Заключение

Теперь вы знаете, как развернуть приложение на Vite и React на хостинге Timeweb. Если столкнетесь с проблемами, всегда можно обратиться в техподдержку хостинга или изучить документацию, чтобы разобраться с нюансами. Удачи с вашим проектом!
Если вы делали обычное SPA приложение, после билда которого у вас есть набор html, css, js файлов, то просто загрузить их на vps недостаточно, нужен веб-сервер, который эти файлы будет раздавать. Часто для этого ставять Nginx , в конфиге которого указывается директория с собранными файлами, например так 
server {
    listen 80;
    server_name your-domain.com;

    root /path/to/your/dist;
    index index.html;

    location / {
        try_files $uri /index.html;
    }
}


Если нет желания разбираться с конфигами, то проще всего воспользоваться сервисами, которые умеют автоматически деплоить проекты из репозитория, те же Apps у Timeweb
на официальном сайте vite есть инструкция. 
https://vite.dev/guide/static-deploy

также рекомендую искать в том же youtube и других поисковиках запросы на английском языке. на английском очень много видео имеется.
How To Deploy A React Vite App
Похожие вопросы