Динамически запрашивать / импортировать различные компоненты компонентов в React Native в зависимости от конфигурации сборки
Я работаю над проектом React Native, в котором нам нужно будет создать два разных варианта приложения, которые в основном одинаковы, но отличаются небольшим количеством функций. Я хотел посмотреть, есть ли способ как-то сделать это с помощью babel, используя разные файлы с одинаковыми именами для каждой сборки и вызывая разные сборки с помощью настроек и переменных среды. Это было бы похоже на то, как это делает React Native для создания пользовательских js-файлов для iOS и Android, например:
my-component.android.js
my-component.ios.js
поэтому мои разные варианты сборки будут выглядеть так:
my-component.flavourA.js
my-component.flavourB.js
или даже
my-component.flavourA.android.js
my-component.flavourB.android.js
my-component.flavourA.ios.js
my-component.flavourB.ios.js
Я пытаюсь найти способ использования babel для изменения функции require() (и операторов import) так, чтобы правильные файлы были разрешены с помощью простого вызова require:
require('./my-component');
в зависимости от того, какая переменная среды FLAVOR установлена. Или же:
import * from './my-component';
Я смотрел на попытку использовать комбинацию babel-plugin-module-resolver
, babel-plugin-replace-require
а также babel-preprocessor
но я не могу решить, если это вообще возможно, без написания собственного плагина babel.
Есть ли более простой способ добиться этого, которого мне не хватает?