226 lines
6.7 KiB
Markdown
226 lines
6.7 KiB
Markdown
# 📋 Сводка исправлений для деплоя
|
||
|
||
## 🔧 Последнее обновление: Node.js версия (24.12.2024)
|
||
|
||
### ❌ Новая проблема
|
||
Netlify использовал Node.js v22.21.1, вызывая проблемы совместимости.
|
||
|
||
### ✅ Решение
|
||
1. Зафиксирована **Node.js 18 LTS** через:
|
||
- `.nvmrc` (создан)
|
||
- `package.json` engines (добавлен)
|
||
- `netlify.toml` (уже был)
|
||
|
||
2. Обновлён `vite.config.ts`:
|
||
- `outDir: 'build'` вместо `'dist'`
|
||
|
||
3. Обновлены скрипты проверки:
|
||
- Проверка версии Node.js
|
||
- Предупреждение о Node.js v22
|
||
|
||
**Документация:** См. `NODE-VERSION-FIX.md` и `LATEST-FIXES.md`
|
||
|
||
---
|
||
|
||
## 🔧 Предыдущие исправления
|
||
|
||
### 1. Проблема с Netlify
|
||
**Ошибка:** `Deploy directory 'dist' does not exist`
|
||
|
||
**Причина:** Vite собирает проект в папку `build`, а не `dist`
|
||
|
||
**Решение:** Обновлён `netlify.toml`:
|
||
```toml
|
||
[build]
|
||
command = "npm run build"
|
||
publish = "build" # Изменено с "dist" на "build"
|
||
```
|
||
|
||
---
|
||
|
||
### 2. Добавлены скрипты проверки сборки
|
||
|
||
**check-build.sh** (Linux/Mac) и **check-build.bat** (Windows)
|
||
|
||
Эти скрипты:
|
||
- Очищают старые сборки
|
||
- Устанавливают зависимости
|
||
- Собирают проект
|
||
- Показывают, какая папка создана (dist или build)
|
||
- Подсказывают правильные настройки для Netlify
|
||
|
||
**Использование:**
|
||
```bash
|
||
# Linux/Mac
|
||
chmod +x check-build.sh
|
||
./check-build.sh
|
||
|
||
# Windows
|
||
check-build.bat
|
||
```
|
||
|
||
---
|
||
|
||
### 3. Создан .gitignore
|
||
|
||
Файл `.gitignore` для исключения:
|
||
- node_modules
|
||
- .env файлов
|
||
- логов
|
||
- кеша
|
||
- системных файлов
|
||
|
||
---
|
||
|
||
### 4. Обновлена документация
|
||
|
||
#### NETLIFY-FIX.md
|
||
Подробное руководство по решению проблем с Netlify:
|
||
- 4 варианта решения
|
||
- Диагностика
|
||
- Проверочный лист
|
||
- Альтернативные платформы
|
||
|
||
#### README.md
|
||
Добавлен раздел с проверкой сборки перед деплоем
|
||
|
||
#### DEPLOYMENT.md
|
||
Добавлено предупреждение о возможных разных папках сборки
|
||
|
||
#### DEPLOY-QUICK.md
|
||
Добавлена информация о проверке сборки
|
||
|
||
---
|
||
|
||
## 📁 Новые файлы
|
||
|
||
```
|
||
/.gitignore - Исключения для Git
|
||
/check-build.sh - Скрипт проверки (Linux/Mac)
|
||
/check-build.bat - Скрипт проверки (Windows)
|
||
/NETLIFY-FIX.md - Решение проблем Netlify
|
||
/FIXES-SUMMARY.md - Этот файл
|
||
/.nvmrc - Фиксация Node.js версии
|
||
/NODE-VERSION-FIX.md - Решение проблем с Node.js версией
|
||
/LATEST-FIXES.md - Последние исправления
|
||
```
|
||
|
||
## ✅ Файлы обновлены
|
||
|
||
```
|
||
/netlify.toml - publish: "build" вместо "dist"
|
||
/README.md - Добавлена секция проверки
|
||
/DEPLOYMENT.md - Добавлено предупреждение
|
||
/DEPLOY-QUICK.md - Добавлена информация о проверке
|
||
/vite.config.ts - outDir: 'build' вместо 'dist'
|
||
/package.json - Добавлены engines
|
||
```
|
||
|
||
---
|
||
|
||
## 🚀 Что делать дальше
|
||
|
||
### Шаг 1: Закоммитьте изменения
|
||
```bash
|
||
git add .
|
||
git commit -m "Fix: Update deployment configs for build directory"
|
||
git push
|
||
```
|
||
|
||
### Шаг 2: Деплой на Netlify
|
||
После пуша Netlify автоматически:
|
||
1. Обнаружит новый коммит
|
||
2. Запустит сборку `npm run build`
|
||
3. Найдёт папку `build` (согласно netlify.toml)
|
||
4. Задеплоит сайт
|
||
|
||
### Шаг 3: Проверка
|
||
После деплоя проверьте:
|
||
- [ ] Сайт открывается
|
||
- [ ] Навигация работает
|
||
- [ ] Стили применяются
|
||
- [ ] Нет ошибок в консоли
|
||
|
||
---
|
||
|
||
## 🆘 Если Netlify всё ещё не работает
|
||
|
||
### Вариант 1: Проверьте настройки Netlify UI
|
||
1. Site settings → Build & deploy → Build settings
|
||
2. Publish directory должна быть: `build`
|
||
3. Если нет - измените вручную
|
||
|
||
### Вариант 2: Используйте Cloudflare Pages
|
||
Cloudflare лучше определяет настройки автоматически:
|
||
```
|
||
1. https://pages.cloudflare.com
|
||
2. Build: npm run build
|
||
3. Output: build
|
||
```
|
||
|
||
### Вариант 3: Используйте GitHub Pages
|
||
GitHub Pages workflow уже настроен:
|
||
```
|
||
1. Settings → Pages → Source: "GitHub Actions"
|
||
2. Готово!
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 Текущая конфигурация
|
||
|
||
### Сборка
|
||
- Команда: `npm run build`
|
||
- Output: `build/` (судя по логам Netlify)
|
||
- Конфигурация: `vite.config.ts` (должен создавать dist, но создаёт build)
|
||
|
||
### Netlify
|
||
- Publish directory: `build`
|
||
- Build command: `npm run build`
|
||
- Node version: 18
|
||
|
||
### GitHub Pages
|
||
- Workflow: `.github/workflows/deploy.yml`
|
||
- Автоматический деплой: ✅
|
||
|
||
### Cloudflare Pages
|
||
- Файлы: `_redirects`, `_headers`
|
||
- Build output: `dist` (может потребоваться изменение на `build`)
|
||
|
||
---
|
||
|
||
## 🔍 Для разработчиков
|
||
|
||
### Почему Vite создаёт build вместо dist?
|
||
|
||
Судя по логам Netlify:
|
||
```
|
||
build/assets/index-Bi1CT-Fn.js 244.81 kB │ gzip: 69.31 kB
|
||
✓ built in 1.93s
|
||
```
|
||
|
||
Vite явно создаёт папку `build`, хотя в `vite.config.ts` указано `outDir: 'dist'`.
|
||
|
||
**Возможные причины:**
|
||
1. Конфигурация переопределяется где-то ещё
|
||
2. Netlify использует собственную конфигурацию Vite
|
||
3. Есть конфликт версий
|
||
|
||
**Решение:**
|
||
- Приняли `build` как output directory
|
||
- Обновили все конфигурации соответственно
|
||
|
||
---
|
||
|
||
## ✅ Итог
|
||
|
||
Все конфигурационные файлы обновлены и готовы к деплою!
|
||
|
||
**Следующий шаг:**
|
||
```bash
|
||
git add .
|
||
git commit -m "Fix deployment configuration"
|
||
git push
|
||
```
|
||
|
||
Netlify автоматически задеплоит сайт! 🎉 |