127 lines
3.9 KiB
Markdown
127 lines
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'ов
|