我是否正确处理了具有公共代码库的多个项目?

Jul*_*enD 10 react-native

我正在使用react-native创建几个共享公共组件的移动应用程序.我在处理依赖项时遇到了困难.这是我做的,这是乏味的,有更好的方法吗?

  • 存储库"common-modules"具有共享组件
  • 几个存储库包括常见的存储库,如下所示:

的package.json

"dependencies": {
    "common-components": "file:../common-components"
},
Run Code Online (Sandbox Code Playgroud)

我在不同的应用程序中使用它:

import XXX from 'common-components/src/...'
Run Code Online (Sandbox Code Playgroud)

现在这很好,因为所有其他依赖项都在"通用组件"中,但只要其中一个具有本机代码,我就不得不在每个应用程序中再次链接库.

例如,如果我使用"react-native-image-picker",我必须在每个应用程序中再次安装它并将其链接到XCode,编辑build.gradle等.

  • 这需要永远
  • 我的链接依赖项是否捆绑了两次?
  • 我担心有必要更换/升级其中一个......

有没有更好的办法?

bas*_*ase 0

就像您自己所说,使用重复的代码库会更容易。为了解决这个问题,您可以为共享组件创建自己的包管理器。为每个组件创建一个脚本,将其依赖项添加到 package.json 并配置 gradle 和 XCode。添加一个简单的 GUI,只需单击一下即可包含您的组件。

这可能看起来需要大量前期工作,但是: - 您将保持完全控制 - 一旦您有了安装组件的脚本,您每次在新应用程序上使用它时都将节省时间 - 如果您可以创建更新一个脚本也可以处理这个问题