1
为了最大限度地利用代码,我们正在构建一组我们想要在多个移动应用程序中使用的组件。到目前为止,我已经能够在我的package.json中使用git存储库作为依赖项。React Native - 共享并重新使用组件
我使用多个本机模块作为我的主/核心部件模块的依赖关系,像这样:
include ':react-native-navigation'
project(':react-native-navigation').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-navigation/android/app')
include ':react-native-open-settings'
project(':react-native-open-settings').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-open-settings/android')
include ':react-native-localization'
project(':react-native-localization').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-localization/android')
include ':react-native-maps'
project(':react-native-maps').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-maps/lib/android')
include ':react-native-vector-icons'
project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android')
现在,如果我想添加一个新的本地模块到我的核心应用程序,这需要在每我需要更新build.gradle和settings.gradle的子应用程序之一,因此新模块也会被编译并添加到项目中。
我期待到做这样的事情在我settings.gradle儿童应用:
include ':core'
project(':core').projectDir = new File(rootProject.projectDir, '../node_modules/core/android/app')
这似乎是第一步,但是这使得核心应用程序编译失败,因为“node_modules”文件夹丢失。在核心模块文件夹中再次安装所有模块似乎是一种矫枉过正的行为。
我的目标是:
- 有一个具有两个JS和本地零部件核心模块
- 创建具有这个核心作为一个依赖
- 更新核心版本,而无需手动更新孩子的应用所有儿童应用程序,最终删除手动步骤,导致在构建时出错。
我实际上已经有一个私人存储库。我的意思是,我使用git来加载核心模块,它可以工作,但正如你所说,它不会加载本地模块或依赖项,所以我必须编译并安装在每个子项目上。 – sfratini