我目前正在一个项目中,我们必须制作2个移动应用程序。我们决定使用react-native来构建这些应用程序,以便我们可以利用跨平台功能。
然后,我们概述了项目结构。在这两个应用程序的UI设计中,大多数组件完全相同,只是颜色有所变化。
所以这就是为什么我们决定两个应用程序都必须从一个文件夹导入(灵活)组件。
项目结构
- mobile
- project 1
- project 2
必须看起来像下面两种解决方案之一
- components
- mobile
- project 1
- project 2
或
- mobile
- components
- project 1
- project 2
'
问题
因此,当我尝试从项目1或2外部导入组件时,就会出现问题。例如,我创建了一个可用于两个项目(应用程序)的Loading组件。但是该组件使用第三方库,并且该库需要Pod安装才能安装一些其他库。
问题:
我认为react-native不鼓励我们从项目目录外部导入组件,因此会出现错误。但是,我仍然希望这种方法能够正常工作,这样可以更好地组织起来并提高效率。
有人在这种领域有经验吗? 如何解决此问题?有什么可能的解决方案。
我已经阅读了其他StackOverflow帖子,但仍然无法弄清楚。对我来说仍然不清楚。
答案 0 :(得分:1)
如果要在两个离散项目之间共享组件,常见的解决方案是按照jmargolisvt在其评论中建议的方式创建自己的NPM库。
但是,将更改发布到组件库中会增加一些开销。如果您需要快速移动,则可以通过直接从Github安装来将组件库安装到项目中。有关以下内容的npm install
语法,请参见NPM的文档:https://docs.npmjs.com/cli/install
无论哪种方式,您的结构最终都将如下所示,并且您将能够像其他npm模块一样导入共享组件。
app-ios
- depends on app-component-library
app-android
- depends on app-component-library
app-component-library