我正在开发一个React Native项目,我们需要构建两种不同风格的应用程序,这些风格大致相同,但在一些小功能方面有所不同。我想知道是否有办法通过babel以某种方式做到这一点,通过为每个构建命名相似的不同文件并通过设置和环境变量触发不同的构建。这与React Native为iOS和Android提供自定义js文件的方式类似:
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插件,我就无法解决这个问题。
是否有一种更容易实现这一目标的方法,我错过了?