Поделиться реагировать нативные компоненты через репо - PullRequest
1 голос
/ 21 апреля 2020

У меня есть три реагирующих нативных проекта, каждый со своим репо.

Они используют очень похожие компоненты, есть ли способ, которым я могу поделиться этими компонентами между репо, чтобы мне не приходилось обновлять каждый репо независимо?

Или я могу создать три разных приложения, из одного репо? с очень незначительными изменениями изображений и конфигов для каждого приложения.

Ответы [ 2 ]

1 голос
/ 24 апреля 2020

Решение 1: Отдельный npm пакет

В моем проекте я отделил свои основные части с каждым npm пакетом.

  1. Создать npm упакуйте и поместите в него ваши общие компоненты.
  2. Вы можете немедленно протестировать функцию вашего общего компонента с помощью npm link или указать абсолютный путь вашего локального пакета с помощью npm install. См. Эту среднюю статью Это было очень полезно для меня.
  3. Если вы хотите управлять вашим пакетом более интуитивно понятным способом, то вы можете опубликовать sh свой пакет в npm хранилище с приватным mode.

Решение 2: Зависит от переменной среды

Вы можете отделить свою рабочую среду с помощью act-native-config . С помощью этого пакета, созданного в нескольких средах .env или .env.production, вы можете разделить переменные времени выполнения с помощью ENVFILE=.env npm start или ENVFILE=.env.production npm start. Затем в коде javascript вы можете ссылаться на параметры каждой среды выполнения.

import Config from 'react-native-config';

const isProduction = Config.environment === 'production';

<Image source={isProduction ? require(..production_image) : require(..development_image)} />

Как показать, что ваша небольшая разница в вашем приложении зависит от вас. как Platform.os === 'ios'

0 голосов
/ 24 апреля 2020

Ссылка на это: https://github.com/luggit/react-native-config

Вы можете создавать различные сборки: производство, постановка, тестирование.

Вы можете установить несколько сред и создать сборку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...