Зачаток мобилки
This commit is contained in:
39
client-mobile/scripts/export-updates.js
Normal file
39
client-mobile/scripts/export-updates.js
Normal file
@@ -0,0 +1,39 @@
|
||||
const { execSync } = require('child_process');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
console.log('🚀 Начинаю экспорт обновления для Self-hosted OTA...');
|
||||
|
||||
try {
|
||||
// 1. Выполняем стандартный экспорт Expo
|
||||
console.log('📦 Выполняю npx expo export...');
|
||||
execSync('npx expo export --platform android', { stdio: 'inherit' });
|
||||
|
||||
// 2. Путь к папке экспорта
|
||||
const distDir = path.join(process.cwd(), 'dist');
|
||||
|
||||
if (!fs.existsSync(distDir)) {
|
||||
throw new Error('Папка dist не была создана. Проверьте вывод npx expo export.');
|
||||
}
|
||||
|
||||
// 3. Генерация манифеста (metadata.json) для нашего сервера
|
||||
// В современных версиях Expo манифесты генерируются автоматически в папке dist/metadata.json
|
||||
// Но если нам нужен кастомный формат для Nginx, мы можем доработать его здесь.
|
||||
|
||||
const metadataPath = path.join(distDir, 'metadata.json');
|
||||
if (fs.existsSync(metadataPath)) {
|
||||
console.log('✅ Manifest (metadata.json) найден.');
|
||||
} else {
|
||||
console.warn('⚠️ Manifest не найден в dist. Возможно, версия Expo требует ручной генерации.');
|
||||
}
|
||||
|
||||
console.log('\n--- ИНСТРУКЦИЯ ---');
|
||||
console.log('1. Скопируйте всё содержимое папки /dist на ваш сервер Nginx.');
|
||||
console.log('2. Убедитесь, что сервер возвращает заголовок "expo-protocol-version: 1".');
|
||||
console.log('3. Проверьте доступность по адресу из app.json.');
|
||||
console.log('------------------');
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ Ошибка при экспорте:', error.message);
|
||||
process.exit(1);
|
||||
}
|
||||
9
client-mobile/scripts/export-updates.sh
Normal file
9
client-mobile/scripts/export-updates.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
# Скрипт для подготовки OTA обновления для Self-Hosted сервера
|
||||
|
||||
echo "🚀 Экспорт Expo бандла..."
|
||||
npx expo export --platform android
|
||||
|
||||
echo "✅ Экспорт завершен в папку ./dist"
|
||||
echo "📂 Теперь загрузите содержимое папки ./dist на ваш сервер по адресу, указанному в app.json (updates.url)"
|
||||
echo "🔗 Убедитесь, что ваш Nginx отдает статику из этой папки и заголовок 'expo-protocol-version: 1' или выше."
|
||||
Reference in New Issue
Block a user