如何自定义 app.json 以使用 Expo 构建白标应用

Posted

技术标签:

【中文标题】如何自定义 app.json 以使用 Expo 构建白标应用【英文标题】:How to customize app.json to build a whitelabel app with Expo 【发布时间】:2019-05-15 17:32:11 【问题描述】:

我有一个使用 React Native 和 Expo 编写的应用程序,我需要创建大约 20 个几乎相同但具有不同后端和一些样式的应用程序。我有一个想法如何做到这一点,但是当我为每个构建使用不同的 app.json 而不每次都手动更改它时,我被困住了。当然,每个单独的应用程序都需要使用自己的名称和图标。那我该怎么做呢?

【问题讨论】:

【参考方案1】:

迟到的答案来了。希望它在某些方面仍然与您相关。

截至今日,除了静态app.json配置文件外,还可以在app.config.js中编写动态配置。

因此,您可以使用app.config.js 定义每个白标设置。然后,您可以使用环境变量以特定的白标配置启动您的应用。

例如,您可以通过以下方式为每个白标设置不同的应用名称。

启动博览会的命令:BRAND=WHITELABEL_1 expo startBRAND=WHITELABEL_2 expo start,具体取决于您要启动的白标。

app.config.js文件:

const names = 
    WHITELABEL_1: 'White-label 1 Name',
    WHITELABEL_2: 'White-label 2 Name',
;

const name = names[process.env.BRAND];

export default  name ;

这就是我在 Expo 中处理白标的方式。

【讨论】:

以上是关于如何自定义 app.json 以使用 Expo 构建白标应用的主要内容,如果未能解决你的问题,请参考以下文章

我应该在 app.json 文件中更改哪些内容以从 expo 重建我的应用程序?

如何将 expo react-native 自定义字体应用于整个容器

Expo Android自适应图标未出现

如何在 expo/react-native 应用程序中添加自定义节点模块?

Google Play Expo w/ React - Expo 的 app.json 文件中与 Android 对应的 plist 是啥?

Expo大作战(十三)--expo如何自定义状态了stateBar以及expo中如何处理脱机缓存加载 offline support