Поскольку React Native является мультиплатформенным фреймворком, разделим эту статью на четыре раздела: iOS, Android, Expo и основные команды React Native.
Команды iOS
Эти команды помогут вам в разработке iOS и работе с Xcode.
1. Открыть проект в Xcode
open ios/YourApp.xcworkspace
- Открывает проект iOS в Xcode, позволяя собирать, запускать и изменять нативные конфигурации iOS.
2. Установить iOS-зависимости
pod-install
- Устанавливает зависимости CocoaPods, перечисленные в
Podfile
для iOS-проекта, что гарантирует интеграцию всех необходимых библиотек.
3. Обновить локальный репозиторий CocoaPods
pod repo update
- Обновляет локальный репозиторий CocoaPods для получения последних версий зависимостей (pods) перед установкой. Используется при столкновении с ошибкой, связанной с отсутствующими или устаревшими версиями зависимостей.
4. Реинтегрировать iOS-зависимости
pod reingrate
- Реинтегрирует зависимости CocoaPods в рабочее пространство Xcode, что полезно при возникновении проблем с установленными библиотеками.
5. Установить зависимости из Podfile и обновить локальный репозиторий CocoaPods
pod install - repo-update
- Устанавливает необходимые зависимости, обновляя локальный репозиторий CocoaPods до последней версии.
6. Очистить iOS-сборку
xcodebuild clean -workspace ios/YourApp.xcworkspace -scheme YourApp -configuration Debug
- Очищает артефакты iOS-сборки, что часто бывает необходимо при возникновении ошибок сборки.
7. Архивировать iOS-приложение (отправить в App Store)
xcodebuild -workspace ios/YourApp.xcworkspace -scheme YourApp -sdk iphoneos -configuration Release archive -archivePath ios/build/YourApp.xcarchive
- Подготавливает iOS-приложение к отправке в App Store путем создания архивированной сборки.
8. Собрать в Xcode
xcodebuild -workspace ios/YourApp.xcworkspace -scheme YourApp -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build
- Собирает iOS-приложение для разработки и тестирования на iOS-симуляторе.
9. Удалить зависимости
rm -rf ios/Pods
- Удаляет все установленные зависимости CocoaPods из папки
Pods
.
10. Удалить Podfile.lock
rm -rf ios/Pods
- Удаляет
Podfile.lock
, что полезно для сброса pod-настроек перед переустановкой зависимостей.
11. Очистить производные данные
rm -rf ~/Library/Developer/Xcode/DerivedData/*
- Очищает кэшированные данные Xcode, что полезно для решения проблем с компиляцией или устаревшим кэшем.
12. Перечислить подключенные устройства
xcrun xctrace list devices
- Перечисляет все подключенные iOS-устройства и симуляторы для тестирования или отладки.
13. Очистить кэш сборки Xcode
rm -rf ~/Library/Developer/Xcode/DerivedData/*
- Очищает кэш сборки Xcode, чтобы устранить возможные проблемы с кэшированием при сборке.
14. Обновить зависимости
cd ios && pod update
- Обновляет установленные зависимости CocoaPods до последних версий.
Android
Эти нативные команды помогут при Android-разработке.
14. Запустить Android-приложение
react-native run-android
- Создает и запускает Android-приложение на подключенном устройстве или эмуляторе. Это самая распространенная команда для запуска приложения во время разработки.
15. Перечислить открытые устройства
adb devices
- Перечисляет все Android-устройства и эмуляторы, подключенные к системе. Команда полезна для проверки готовности устройства к тестированию.
16. Очистить Gradle
./gradlew clean
- Очищает файлы сборки Gradle, удаляя все временные файлы и кэшированные данные, которые могут вызвать проблемы в процессе сборки.
17. Реализовать Gradle-сборку
./gradlew build
- Компилирует и собирает Android-проект с помощью Gradle, подготавливая приложение к развертыванию или тестированию.
18. Выполнить отладку подключенных устройств
adb logcat
- Реализует потоковую передачу журналов с подключенных Android-устройств или эмуляторов, что полезно для отладки и мониторинга производительности приложения или обнаружения ошибок.
19. Выполнить отладку подключенных устройств (с фильтрацией журналов приложения)
adb logcat | grep com.app.name
- Фильтрует вывод журналов для отображения журналов, относящихся к имени пакета вашего приложения. Это помогает быстрее обнаружить проблемы, связанные с приложением.
20. Сгенерировать APK для тестирования
cd android && ./gradlew assembleDebug
- Генерирует отладочный APK (Android Package Kit — формат файлов для установки Android-приложений), который можно установить на устройства для тестирования. Этот APK содержит дополнительную отладочную информацию.
21. Создать подписанное приложение для производства
cd android && ./gradlew assembleRelease
- Создает подписанный релизный APK, подходящий для отправки в Google Play Store. Этот APK оптимизирован для производительности и безопасности.
22. Запустить Android-эмулятор
emulator -avd <your_avd_name>
- Запускает конкретный Android-эмулятор, используя имя вашего AVD (Android Virtual Device — виртуальное Android-устройство).
23. Открыть Android Logcat для отладки
adb logcat *:S ReactNative:V ReactNativeJS:V
- Открывает
logcat
Android для подробного ведения журналов. При этом показывает только журналы, связанные с активностью React Native и JavaScript, чтобы отсеять шум и сосредоточиться на релевантных журналах.
24. Удалить приложение с Android-устройства или эмулятора
adb uninstall com.projectname
- Удаляет приложение с подключенного Android-устройства или эмулятора, используя имя пакета приложения.
25. Установить APK на устройство
adb install path_to_apk.apk
- Устанавливает определенный APK-файл на подключенное Android-устройство или эмулятор для тестирования или отладки.
26. Запустить команду adb reverse (для отладки устройства)
adb reverse tcp:8081 tcp:8081
- Устанавливает обратную переадресацию портов, позволяя устройству подключаться к локальному серверу разработки (Metro), запущенному на вашем компьютере. Полезно для отладки на реальных устройствах.
27. Очистить кэш Android-сборки
cd android && ./gradlew cleanBuildCache
- Очищает кэш Android-сборки, что может решить проблемы, вызванные устаревшими файлами сборки или повреждением кэша при сборке Android-проекта.
React Native
В этом разделе представлены команды CLI React Native.
28. Инициализировать новый проект
react-native init ProjectName
- Инициализирует новый проект React Native. При этом задается структура проекта и устанавливаются все необходимые зависимости.
29. Запустить проект на iOS
react-native run-ios
30. Запустить проект на Android
react-native run-android
31. Запустить проект на определенном симуляторе iOS
react-native run-ios --simulator="iPhone 14"
32. Установить зависимости проекта
npm install or yarn install
- Устанавливает все зависимости проекта, перечисленные в файле
package.json
.
33. Выполнить линковку зависимостей (для версий ниже 0.60)
react-native link
- Выполняет линковку зависимостей, требуемую для версий React Native ниже 0.60, что позволяет подключить нативные модули к проектам iOS и Android.
34. Разлинковать пакет
react-native unlink package-name
- Удаляет ссылку на определенный пакет из проекта (работает только в RN 0.60 и более ранних версиях).
35. Открыть DevTools
react-devtools
- Открывает DevTools React Native и предоставляет инструменты для проверки и отладки компонентов React.
36. Проверить наличие устаревших пакетов
npm outdated or yarn outdated
- Проверяет наличие устаревших зависимостей в проекте, показывает, какие пакеты имеют более новые версии.
37. Обновить проект до последней версии
react-native upgrade
- Обновляет версию React Native в проекте до последней стабильной версии. Не стоит использовать эту команду для больших проектов и проектов с несколькими нативными библиотеками.
38. Запустить Metro Bundler
npm start
- Запускает Metro Bundler, который собирает JavaScript-код для приложения и делает его доступным для разработки. Это необходимо для запуска и тестирования приложения.
39. Очистить кэш и запустить Metro Bundler
npm start --reset-cache
40. Запустить React Native в режиме релиза (iOS)
react-native run-ios --configuration Release
- Собирает и запускает iOS-приложение в режиме релиза, оптимизированном для тестирования в производстве.
41. Запустить React Native в режиме релиза (Android)
react-native run-android --variant=release
- Собирает и запускает Android-приложение в режиме релиза, оптимизированном для производства. Используется для финального тестирования перед выпуском приложения.
42. Запустить тест Yest
npm test or yarn test
- Запускает все тесты Yest в проекте.
43. Запустить ESLint
eslint .
- Запускает ESLint для проверки кодовой базы на наличие потенциальных ошибок, предупреждений или проблем со стилем на основе правил, заданных в файле конфигурации ESLint.
44. Исправить ошибки с ESLint
eslint . --fix
- Автоматически исправляет ошибки в кодовой базе на основе заданных правил ESLint.
45. Запустить Prettier
prettier --write .
- Форматирует код в соответствии с правилами, определенными в конфигурации Prettier.
46. Запустить Detox (тестирование)
detox test
Expo
В этом разделе представлены команды CLI Expo.
47. Создать новый проект Expo
create-expo-app ProjectName
48. Установить Expo
yarn add expo
- Добавляет Expo в качестве зависимости к существующему проекту, что полезно при интеграции Expo в существующий проект CLI React Native.
49. Запустить приложение Expo (Android)
expo start --android
50. Запустить приложение Expo (iOS)
expo start --ios
51. Войти в аккаунт Expo
expo login -h
- Обеспечивает вход в аккаунт Expo из командной строки, что необходимо для публикации приложений или использования служб Expo.
52. Открыть проект в Expo DevTools
expo start --dev-client
- Запускает проект Expo с использованием DevTools, позволяя отлаживать приложение в клиенте пользовательской разработки.
53. Очистить приложение Expo
expo eject
- Очищает Expo-проект, предоставляя возможность полностью нативной кастомизации.
54. Опубликовать Expo-проект
expo publish
- Публикует проект Expo в облаке, позволяя пользователям получить к нему доступ по постоянному URL или через приложение Expo Go.
55. Выполнить сборку проекта для производства (iOS)
expo build:ios
- Собирает приложение для производства на iOS, создавая файл
.ipa
для отправки в App Store.
56. Выполнить сборку проекта для производства (Android)
expo build:android
- Собрать приложение для производства на Android, создавая файл
.apk
или.aab
для отправки в Google Play Store.
57. Выполнить сборку разработки Expo
expo run:ios or expo run:android
- Выполняет локальную сборку разработки Expo-приложения, которое нужно запустить.
58. Выполнить сборку для веб-платформы
expo build:web
- Выполняет сборку проекта для веб-платформы, создает оптимизированные активы и пакеты для веб-развертывания.
59. Оптимизировать активы для производства
expo-optimize
- Оптимизирует изображения и другие статические активы для уменьшения размера файлов и ускорения загрузки в производстве.
60. Очистить кэш и запустить Expo
expo start -c
- Очищает кэш Expo и запускает сервер разработки, что полезно при возникновении проблем, вызванных кэшированными данными.
61. Установить определенный пакет Expo
expo install package-name
- Устанавливает определенный Expo-совместимый пакет и обеспечивает совместимость с текущим SDK.
62. Обновить SDK Expo
expo upgrade
- Обновляет проект Expo до последней версии SDK, обеспечивая совместимость с новейшими функциями.
63. Настроить учетные данные iOS
expo credentials:manager
- Управляет учетными данными iOS (предоставление профилей и сертификатов).
64. Проверить конфигурацию проекта (app.json)
expo config
- Отображает текущую конфигурацию проекта, определенную в файле
app.json
.
65. Запустить диагностику Expo
expo diagnostics
- Собирает диагностическую информацию о настройках проекта, которая может пригодиться для устранения неполадок или сообщений об ошибках.
66. Выйти из аккаунта Expo
expo logout
- Обеспечивает выход из аккаунта Expo, реализованный в командной строке.
67. Выполнить сборку приложения с помощью EAS (Expo Application Services)
eas build
- Выполняет сборку приложения с помощью EAS, который поддерживает сборку приложений для iOS и Android без необходимости очистки или выхода из Expo.
68. Проверить статус сборки проекта (EAS)
eas build:status
- Показывает состояние последних сборок проекта в Expo Application Services.
69. Настроить EAS для автоматической подписи приложения
eas config
- Настраивает службу EAS для автоматической подписи приложения, упрощая процесс отправки для iOS и Android.
70. Просмотреть журналы Expo
expo logs
- Отображает журналы, созданные Expo, что помогает отладить приложение Expo во время разработки.
71. Установить обновления Expo
npm install -g expo-cli or yarn global add expo-cli
- Устанавливает или глобально обновляет CLI Expo, обеспечивая работу с последней версией.
72. Представить список всех доступных команд Expo
expo --help
- Отображает список всех доступных команд CLI Expo с описанием каждой из них.
73. Проверить примечания к релизу Expo
expo release-notes
- Отображает примечания к релизу последней версии SDK Expo, включая обновления и изменения.
74. Проверить и обновить зависимости проекта
expo doctor
- Проверяет и обновляет зависимости проекта, чтобы убедиться в их совместимости с текущей версией Expo.
75. Открыть документацию по Expo
expo docs
76. Настроить обновления OTA
expo publish --release-channel <channel>
- Публикует обновление OTA (Over The Air — по воздуху, беспроводным способом) в определенном канале релиза, позволяя приложению получать обновления без необходимости полноценной отправки в App Store.
77. Запустить приложение на определенном канале релиза
expo start --release-channel <channel-name>
- Запускает приложение Expo на определенном канале релиза, что полезно для тестирования различных версий приложения.
78. Возвратиться к предыдущему обновлению
expo publish:rollback
- Позволяет возвратиться к предыдущему OTA-обновлению приложения, отменяя последние изменения.
79. Протестировать глубинные ссылки в проекте Expo
expo start --scheme <your-scheme>
- Проверяет глубинные ссылки проекта Expo, определяя пользовательскую схему для открытия приложения.
80. Проверить размер пакета проекта Expo
expo bundle:analyze
- Анализирует и предоставляет отчет о размере пакета, помогая оптимизировать приложение для ускорения загрузки.
81. Удалить проект Expo с серверов Expo
expo delete
- Навсегда удаляет проект с серверов Expo, извлекая все опубликованные версии и данные, связанные с ним.
Читайте также:
- Приложение React Native с поддержкой Apple Watch и виджетов
- 3 простых шага для написания сложных компонентов
- Путешествие в мир анимации с Lottie-React-Native
Читайте нас в Telegram, VK и Дзен
Перевод статьи Adnan Sahinovic: 80+ Commands To Bookmark For React Native