Экспо SDK требует Экспо для запуска. я новичок в реакции-родной? - PullRequest
1 голос
/ 18 февраля 2020

Я опытный android разработчик и начал учиться реагировать на нативный. Я использую Ubuntu, чтобы сделать проект. Я использовал такой код react-native init myproject и использую код Visual Studio для редактора кода.

Чтобы запустить проект на своем физическом устройстве, я запускаю adb devices на терминале, меняем каталог на каталог проекта, затем запускаю localhost вроде react-native start, тогда я запускаю свой проект на android с этим кодом react-native run-android. Проект отлично работает на моем физическом устройстве.

Но я получаю сообщение об ошибке, когда пользуюсь Экспо (** я не знаю, что такое Экспо **). Я следую серии учебников по ниндзя net. Когда я использую экспо-иконки, я не получаю иконки. Это учебная ссылка: icons

Когда сегодня я узнал о том, как использовать пользовательские шрифты в реактивном, у меня возникли подобные ошибки, подобные той, что показана в этой ссылке .

Я не знаю, почему expo не работает над моим проектом. Перед тем, как читать эту серию, я посмотрел книгу, чтобы узнать, как реагировать на натив, в которой говорилось, что сейчас мы не используем выставку. Итак, как я могу выйти из этой проблемы?

, хотя я получаю мало ответов, которые проясняют то, что является выставкой, и один также ответил на проблему значков в реакции-нативной. В настоящее время я не могу использовать пользовательские шрифты в Reaction-native.

Ответы [ 3 ]

1 голос
/ 18 февраля 2020

Expo и response-native - это разные CLI для создания приложений. Вместо того, чтобы использовать какие-либо компоненты из expo в реактивном приложении, вы должны использовать другие пакеты. Так как зависимости expo напрямую не поддерживаются реагирующим. (Поправьте меня, если я ошибаюсь.) Например, вместо expo-icons вы можете использовать act-native-vector-icons Это решит вашу текущую ошибку.

1 голос
/ 18 февраля 2020

, поэтому я получил ответ о пользовательских шрифтах из выпуска GitHub на Facebook.

создайте react-native.config.js файл в папке проекта root, затем вставьте приведенный ниже код в этот файл

module.exports = {
  project: {
    ios: {},
    android: {},
  },
  assets: ["./assets/fonts/"], 
};

чем вы можете использовать шрифты как fontFamily : 'exact_file_name' после этого процесса, вы сможете увидеть изменения, если вы не видите никаких изменений. Запустите свой проект через терминал, и вы увидите изменения шрифта в проекте.

Спасибо всем, кто помог мне.

1 голос
/ 18 февраля 2020

вы можете использовать либо expo, либо реактив-нативный, но вы не можете использовать оба одновременно: expo - это еще один CLI, а response-native - это родительский CLI. По моему мнению, многие модули не поддерживаются в проекте EXPO, для которого требуются native-модули, поэтому я предлагаю вам вместо этого используйте Exact-native. Различайте bubturn между реагирующим-нативным и expo

. Начало проекта с Expo

Expo - это набор инструментов, построенный вокруг React Native. чтобы помочь вам быстро запустить приложение. Он предоставляет набор инструментов, которые упрощают разработку и тестирование приложения React Native и вооружают вас компонентами пользовательского интерфейса и службами, которые обычно доступны в сторонних компонентах React Native. С Expo вы можете найти их все в Expo SDK.

Вы можете прочитать, как настроить ваш проект в разделе Введение ( Установка подраздел)

Преимущества Expo

  1. Быстрая и простая установка проекта (всего за несколько минут)
  2. Удобная утилита Expo CLI, которая открывается в браузере и помогает проверить состояние приложения, устройства он запускается, сканирует QR-код или отправляет ссылку по электронной почте, чтобы открыть приложение в клиенте Expo, переключить режим производства / разработки и опубликовать sh ваше приложение на сервере Expo.
  3. клиент Expo - это приложение, которое устанавливается из Google Play и Apple Store на ваш телефон. Это позволяет открывать проекты во время разработки без сборки через XCode или Android Studio. С клиентом Expo вы можете отправить свое приложение другим пользователям для проверки, что очень полезно при тестировании, поскольку вы можете видеть все изменения в коде клиента Expo без создания файлов apk или ipa.
  4. Expo SDK предлагает коллекцию готовые решения, такие как работа с устройством акселерометр, камера, уведомления, геолокация и др. c. Вы можете увидеть их в разделе Справочник по SDK API. Команда Expo регулярно обновляет SDK новыми решениями.
  5. По воздуху - очень удобная функция Expo для обновления вашего приложения по беспроводной сети без повторного развертывания в Google Play или Apple Store. Когда пользователи открывают ваше приложение, оно автоматически обновляет новые изменения в коде JavaScript. Однако такие вещи, как значок приложения, его имя и другие настройки, не обновляются через OTA. Подробнее об этом можно прочитать в разделе «Ограничения».

Недостатки Expo

  1. Нельзя добавлять собственные модули, написанные в Objective- C, Swift, Java, Kotlin
  2. Вы не можете использовать пакеты с родными языками, для которых требуется соединение
  3. Приложение имеет большой размер, так как оно собрано со всеми Expo Решения SDK, даже те, которые вы не используете. Приложение с Hello World весит 25 МБ
  4. Во время тестирования в клиенте Expo часто все работает хорошо, но в автономном приложении могут возникать определенные проблемы.

React Native без Expo

Преимущества

  1. Вы можете добавить собственные модули, написанные на Objective- C, Swift, Java, Kotlin и пакеты, требующие связывания

  2. Вы можете сами решить, какую версию React Native использовать

Недостатки

  1. У вас не будет возможности разрабатывать iOS без macOS, поскольку вам придется использовать XCode для некоторых настроек.
  2. Если вы недавно начали работать с React Native или перешли на него из Экспо, настройка проекта займет достаточно много времени.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...