Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从共享组件文件夹导入不同的应用程序?反应/自然反应_Javascript_Reactjs_React Native_Import - Fatal编程技术网

Javascript 如何从共享组件文件夹导入不同的应用程序?反应/自然反应

Javascript 如何从共享组件文件夹导入不同的应用程序?反应/自然反应,javascript,reactjs,react-native,import,Javascript,Reactjs,React Native,Import,我目前正在做一个项目,我们必须制作两个移动应用程序。我们决定使用react native构建这些应用程序,这样我们就可以利用跨平台功能 然后我们概述了项目结构。在这两个应用程序的UI设计中,大多数组件都完全相同,但只是颜色有所变化 这就是为什么我们决定两个应用程序都必须从一个文件夹导入(灵活的)组件 项目结构 必须看起来像下面两种解决方案中的一种 或 " 问题 因此,当我尝试从项目1或项目2外部导入组件时,就会出现问题。例如,我创建了一个可用于两个项目(应用)的加载组件。但该组件使用第三方库,该

我目前正在做一个项目,我们必须制作两个移动应用程序。我们决定使用react native构建这些应用程序,这样我们就可以利用跨平台功能

然后我们概述了项目结构。在这两个应用程序的UI设计中,大多数组件都完全相同,但只是颜色有所变化

这就是为什么我们决定两个应用程序都必须从一个文件夹导入(灵活的)组件

项目结构

必须看起来像下面两种解决方案中的一种

"

问题

因此,当我尝试从项目1或项目2外部导入组件时,就会出现问题。例如,我创建了一个可用于两个项目(应用)的加载组件。但该组件使用第三方库,该库需要Pod安装,以安装其他库

问题:

  • 我应该在哪里安装第三方库(添加)。在文件夹组件中,还是在两个项目文件夹中
  • 如果我在components文件夹中安装它,我将无法运行Pod安装,因为在该项目目录中没有添加任何内容
  • 如果我尝试从项目目录之外的components文件夹导入组件,则会出现“无法解决模块..”错误
  • 我认为react native并不鼓励我们从项目目录之外导入组件,因此出现了错误。不过,我还是希望这能奏效,这样它会更有条理,更有效率

    有人在这方面有经验吗我如何解决这个问题?可能的解决方案是什么


    我读过其他StackOverflow的帖子,但还是不明白。我仍然不清楚。

    如果您想在两个独立的项目之间共享组件,常见的解决方案是创建自己的NPM库,正如jmargolisvt在其评论中所建议的那样

    不过,这将增加一点开销,以将更改发布到组件库。如果您需要快速移动,您可以通过直接从Github安装组件库来将其安装到项目中。有关NPM安装的语法,请参见NPM的文档:

    无论哪种方式,您的结构最终都会如下图所示,您将能够像导入任何其他npm模块一样导入共享组件

    app-ios
      - depends on app-component-library
    app-android
      - depends on app-component-library
    app-component-library
    

    只需为组件创建一个节点模块,安装并导入即可。谢谢林登·诺耶!!
    - components
    - mobile
        - project 1
        - project 2
    
    - mobile
        - components
        - project 1
        - project 2
    
    app-ios
      - depends on app-component-library
    app-android
      - depends on app-component-library
    app-component-library