在两个反应本机应用程序之间共享通用组

时间:2017-07-05 19:16:40

标签: react-native

我有一个现有的反应原生应用程序与我制作的某些自定义组件。现在我正在尝试创建一个新的应用程序并使用其中的一些组件,因此在发生更改时无需复制/粘贴。让我们将这些应用程序命名为app1和app2。

这是我尝试的内容:

  1. 保留文件结构 app1 => SRC, node_modules, ios等
  2. app2 =>    SRC,    node_modules,    ios等

    shared_folder =>    组件,    node_modules

    没有用,因为shared_folder需要node_modules来导入react,react-native等.Npm抱怨它正在查看的所有重复节点模块

    1. 然后我尝试了结构
    2. app_folder =>       node_modules,       APP1,       APP2,       shared_folder

      这没有用,因为在运行npm start时,它并不知道要查找哪个index.ios.js。此外,app1和app2项目的xcode一直抱怨找到某些反应文件。

      我的问题是,构建这两个应用程序的最佳方法是什么,以便我可以在它们之间共享某些组件?

2 个答案:

答案 0 :(得分:0)

不确定我理解您的具体情况但通常共享组件对多个项目有意义应该在他们自己的模块中(您可以创建私有范围的npm包)。假设有一些逻辑将它们组合在一起

答案 1 :(得分:0)

这里a link可以回答你的问题。

在src文件夹中,您可以找到3个不同的项目:本机,世博会和网络(反应)。还有一个名为shared的文件夹,用于存储常用功能和常见的原生模块。有一个名为Sample的模块,它在expo中使用并对原生项目做出反应,以显示如何从共享程序集中导入常见的反应本机模块。

如果下载项目,请记得运行

yarn

在主路径目录中,每个项目目录都相同。 如果要运行expo项目,则需要转到expo项目目录并使用命令

yarn run android

如果要运行项目,则需要转到项目目录并使用命令

react-native run-android