【问题标题】:Is it possible to have an ionic and angular apps within the same folder structure?是否可以在同一文件夹结构中拥有离子和角度应用程序?
【发布时间】:2017-06-17 18:43:48
【问题描述】:
这个想法是两者都将使用相似的资源(firebase 表、环境文件等)。但同时 ionic 将使用自己的移动 UI,而普通的 angular4 项目将使用引导程序。
如果可能的话,我会很高兴听到您建议这样做的方式。如果不是,那么替代方案将是什么。
【问题讨论】:
标签:
angular
ionic-framework
【解决方案1】:
是的,这是可能的,我建议使用git submodules。
子模块
经常发生的情况是,在处理一个项目时,您需要使用
里面的另一个项目。也许这是一个图书馆,三分之一
一方开发或您正在单独开发并使用
多个父项目。在这些情况下会出现一个常见问题:
您希望能够将这两个项目视为独立的,但仍然是
能够从另一个内部使用一个。
这是一个例子。假设您正在开发一个网站并创建
原子饲料。您无需编写自己的 Atom 生成代码,而是
决定使用图书馆。您可能必须包括此
来自共享库(如 CPAN 安装或 Ruby gem)的代码,或复制
源代码到您自己的项目树中。包含的问题
库是很难以任何方式自定义库
并且通常更难以部署它,因为您需要确保
每个客户都有可用的库。复制的问题
代码到您自己的项目中是您所做的任何自定义更改
当上游更改可用时难以合并。
Git 使用子模块解决了这个问题。子模块允许您
将 Git 存储库保留为另一个 Git 存储库的子目录。
这使您可以将另一个存储库克隆到您的项目中并保留您的
单独提交。
本质上,您可以将共享数据(环境变量、提供程序等)作为 git 子模块,并将其包含在独立的 Ionic 和 Angular 前端中并从那里使用它。
你可以把 git 子模块想象成一个 npm 包。最好的部分是:
- 您不必在 npm 存储库上公开该包的代码
- 您可以在克隆后将更改应用到子模块,但仍会拉入更高版本,而不会覆盖对包含的子模块代码的自定义更改。
您可以了解更多关于 git 子模块的信息here。