gpt4 book ai didi

react-native - 为多个应用程序使用单个 expo 代码库

转载 作者:行者123 更新时间:2023-12-03 17:14:51 25 4
gpt4 key购买 nike

我得到了一个应用程序,我们为其他人贴上了白标。
这意味着我们通过应用程序共享相同的功能,但每个应用程序中都有一些特定的设计元素(主要是颜色和图片)。

我正在寻找最简单和最好的方法来为我的 Expo React Native 代码库识别构建的应用程序。

我的计划是将所有内容都存储在同一个 javascript 代码库中,然后通过应用程序名称加载正确的配置文件。

在这种情况下,我会在商店中获得一些应用程序:

  • 蓝应用
  • 红应用
  • 绿色应用

  • 所有这些都将加载相同的博览会 app: exp.host/@comp/colours这个博览会应用程序应该在 BlueApp 中将背景设置为蓝色,在 RedApp 中将背景设置为红色。

    !我不想分离我的世博会应用程序,我仍然想用世博会构建我的应用程序。

    最佳答案

    可以通过执行 expo start --config=some-app.json 来使用不同的配置文件.我遇到的一个问题是在特定位置仍然需要一些 Assets (例如 assets/images/icon.png)。

    我想出的解决方案是在每次启动项目时通过 bash 脚本切换项目。这样,您运行的开发也将发布而无需担心 expo 可能支持或不支持的配置参数。

    因此,在您的 package.json 中,您可以运行如下所示的命令:

    ./switch project1 && expo start

    bash 脚本会将 src 目录中的所有 Assets (包括 app.json)同步到它们的预期路径。目录结构如下所示:
    src
    - project1
    - app.json
    - assets
    - project2
    - app.json
    - assets

    和脚本:
    #!/bin/bash

    if [ $1 == "swaggr" ] || [ $1 == "chatsera" ]
    then
    echo "switching to $1"
    unlink app.json
    cp ./src/$1/app.json ./app.json
    rsync -rvz ./src/$1/assets/ ./assets/
    else
    echo "could not switch project. $1 is invalid"
    fi

    如果您使用这种方法,我可能会在 .gitignore 中添加 app.json 和所有 Assets 。

    关于react-native - 为多个应用程序使用单个 expo 代码库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51718103/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com