127 lines
No EOL
3.9 KiB
Markdown
127 lines
No EOL
3.9 KiB
Markdown
# 🚀 Скрипты для перезапуска Web приложения
|
||
|
||
## 📋 Обзор
|
||
|
||
Созданы два скрипта для удобного перезапуска Flutter Web приложения:
|
||
|
||
- **`restart_web.sh`** - Полная пересборка с очисткой кэша
|
||
- **`quick_restart.sh`** - Быстрый перезапуск без пересборки
|
||
|
||
## 🔧 Использование
|
||
|
||
### Полная пересборка (рекомендуется после изменений кода)
|
||
|
||
```bash
|
||
# Использование с параметрами по умолчанию
|
||
./restart_web.sh
|
||
|
||
# С указанием hostname и port
|
||
./restart_web.sh 192.168.31.142 8080
|
||
|
||
# С другим hostname
|
||
./restart_web.sh localhost 8080
|
||
```
|
||
|
||
**Что делает:**
|
||
1. 🛑 Останавливает процесс на порту
|
||
2. 🧹 Очищает кэш Flutter (`flutter clean`)
|
||
3. 📦 Получает зависимости (`flutter pub get`)
|
||
4. 🔨 Пересобирает приложение (`flutter build web --release`)
|
||
5. 🚀 Запускает на указанном адресе
|
||
|
||
### Быстрый перезапуск (для тестирования)
|
||
|
||
```bash
|
||
# Использование с параметрами по умолчанию
|
||
./quick_restart.sh
|
||
|
||
# С указанием hostname и port
|
||
./quick_restart.sh 192.168.31.142 8080
|
||
```
|
||
|
||
**Что делает:**
|
||
1. 🛑 Останавливает процесс на порту
|
||
2. 🚀 Быстро запускает приложение
|
||
|
||
## 📊 Сравнение скриптов
|
||
|
||
| Функция | `restart_web.sh` | `quick_restart.sh` |
|
||
|---------|------------------|-------------------|
|
||
| Время выполнения | ~2-3 минуты | ~30 секунд |
|
||
| Очистка кэша | ✅ | ❌ |
|
||
| Пересборка | ✅ | ❌ |
|
||
| Получение зависимостей | ✅ | ❌ |
|
||
| Рекомендуется для | Изменения кода | Тестирование |
|
||
|
||
## 🎯 Параметры по умолчанию
|
||
|
||
- **Hostname:** `192.168.31.142`
|
||
- **Port:** `8080`
|
||
|
||
## 🛠️ Ручное управление
|
||
|
||
### Остановка приложения
|
||
```bash
|
||
lsof -ti:8080 | xargs kill -9
|
||
```
|
||
|
||
### Проверка статуса порта
|
||
```bash
|
||
lsof -i:8080
|
||
```
|
||
|
||
### Запуск вручную
|
||
```bash
|
||
flutter run -d web-server --web-hostname 192.168.31.142 --web-port 8080
|
||
```
|
||
|
||
## 🔍 Отладка
|
||
|
||
### Если скрипт не работает:
|
||
1. Проверьте, что вы в директории `apps/web_app1`
|
||
2. Убедитесь, что файл `pubspec.yaml` существует
|
||
3. Проверьте права на выполнение: `ls -la *.sh`
|
||
|
||
### Если порт занят:
|
||
```bash
|
||
# Найти процесс
|
||
lsof -i:8080
|
||
|
||
# Остановить процесс
|
||
lsof -ti:8080 | xargs kill -9
|
||
```
|
||
|
||
## 📝 Примеры использования
|
||
|
||
### Разработка
|
||
```bash
|
||
# После изменения кода
|
||
./restart_web.sh
|
||
|
||
# Для быстрого тестирования
|
||
./quick_restart.sh
|
||
```
|
||
|
||
### Продакшн
|
||
```bash
|
||
# Полная пересборка для продакшна
|
||
./restart_web.sh 192.168.31.142 8080
|
||
```
|
||
|
||
### Локальная разработка
|
||
```bash
|
||
# Запуск на localhost
|
||
./quick_restart.sh localhost 8080
|
||
```
|
||
|
||
## 🎉 Результат
|
||
|
||
После выполнения скрипта приложение будет доступно по адресу:
|
||
- **http://192.168.31.142:8080** (по умолчанию)
|
||
- **http://localhost:8080** (если указан localhost)
|
||
|
||
Приложение использует новую архитектуру с:
|
||
- ✅ `BridgeManager` для управления bridge
|
||
- ✅ `WebTransport` для инкапсуляции транспорта
|
||
- ✅ Абстрактный транспортный слой
|
||
- ✅ Высокоуровневый API для payload'ов |