gpt4 book ai didi

android - React Native - 共享和重用组件

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

为了最大限度地重复使用代码,我们正在构建一组我们希望在多个移动应用程序中使用的组件。到目前为止,我已经能够使用 git 存储库作为 package.json 中的依赖项来做到这一点。

我在我的主/核心组件模块中使用多个 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')

现在,如果我想在我的核心应用程序中添加一个新的 native 模块,这需要在我的每个子应用程序上更新 build.gradle 和 settings.gradle,因此新模块也会被编译并添加到项目。

我正在考虑在我的 settings.gradle 子应用程序中做这样的事情:
include ':core'
project(':core').projectDir = new File(rootProject.projectDir, '../node_modules/core/android/app')

这似乎是第一步,但这会使核心应用程序编译失败,因为缺少“node_modules”文件夹。在核心模块文件夹中再次安装所有模块似乎有点矫枉过正。

我的目标是:
  • 拥有一个同时拥有 JS 和原生组件的核心模块
  • 创建将此核心作为依赖项的子应用程序
  • 无需手动更新所有子应用程序即可更新核心版本,最终消除了在构建时导致错误的手动步骤。
  • 最佳答案

    您是否考虑过使用私有(private) npm 存储库?您可以将所有可重用组件放入私有(private) npm 存储库,然后为每个应用程序加载它们。虽然我不知道这是否可以解决如何共享 native 模块。

    关于android - React Native - 共享和重用组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46802102/

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