我刚开始使用原生react。我计划创建几个react本机应用程序,这些应用程序将重用一些代码
他们要共享的代码是会话管理、api、存储管理器、格式化程序等。。。这些不是React Native组件
因此,我想将这些项目组织成以下结构:
- app_1(不同的包.json)
- app_2(不同的包.json)
- app_n(不同的包.json)
- package_that_every_app_imports(不同的package.json)
我的问题是,project_that_every_app_includes中的一些模块必须按应用程序进行配置。
为了做到这一点,我想我可以设置一个全局变量,即使来自不同包的所有模块都可以访问
有没有比这更好的方法来配置package_that_every_app_imports的模块?(当然,将配置传递到实例的构造函数中的情况除外)
更新1:
经过反复尝试,当我在app_1中设置全局变量时,该全局变量在package_that_every_app_imports中不可用,因此最初的猜测是错误的。
在做了更多的研究之后,我偶然发现了这个名为反应本机配置
该软件包允许我使用.env文件创建/管理不同的配置环境(开发、生产等)。
.env示例:
BASE_URL=http://staging.example.org/
ENVIRONMENT=staging
变量可以访问如下:
import Config from "react-native-config";
const base_url = Config.BASE_URL;
配置也可以在package_that_every_app_imports的模块中访问,而不会出现任何问题。