共计 1192 个字符,预计需要花费 3 分钟才能阅读完成。
多个我的项目专用同一个页面模块的解决方案
最近遇到一个需要。有 3 个我的项目专用同一套菜单、字典等通用的页面。其实在启动第二个我的项目的时候,前端这边就曾经不太好操作了。因为改一个问题要改两次,十分不不便。何况当初第三个我的项目要通用这个模块,在网上搜了很多解决方案。有 <font color=”red”> 微前端、git subTree,npm 治理 </font>。
- 微前端:次要是我的项目对我的项目,是做我的项目拆散,用路由去匹配对应的我的项目来解决的,而我这个我的项目只是单纯的页面,所以没必要弄的那么简单。
- npm 治理,这个要放在 npm 服务上,或者搭建私服,和 java 的 maven 差不多的意思。不过咱们须要的是页面,外面有业务逻辑和公有的货色,不不便裸露,而且常常须要批改的。频繁的公布,拉取也不不便。个人感觉更加适宜一些专用组件,或者是通用办法的封装这些不须要频繁改变的货色。
git subTree
git subTree 是 git 官网举荐的一款公共仓库的管理工具。
git subTree 的长处:
对于我的项目中的其余成员是通明的,也就是说如果看目录,和一般的目录基本没有差异。
git subTree 的毛病:
子仓库更新,推送命令简单(这点非常容易解决)
需要
有 A 我的项目和 B 我的项目,目录构造大略是
A - a B - b
- s - s
两个我的项目都同时有 s
模块,那么这样咱们就能够独自把 s
模块抽离进去,放入一个新的仓库中,新的仓库就叫S
解决方案
- 在须要引入的我的项目 A 或者 B 中 先给 S 模块起个别名,我这里起名 basicpage
git remote add basicpage 我的项目地址
- 引入我的项目
git subtree add --prefix= 须要放的地位 basicpage 我的项目分支 是否做一次提交
git subtree add --prefix=src/basic basicpage master --squash
A - a B - b
- s - s
- src/basic -s
这样会在我的项目的 src 目录下生成一个 basic 目录,外面就是 S 我的项目。
咱们只有在 A 我的项目的模块 s 中的页面中引入 basic 目录下的文件就能够应用了。
- 推送
git subtree push --prefix= 我的项目放的地位 basicpage 我的项目分支
git subtree push --prefix=src/basic basicpage master
- 拉取
git subtree pull --prefix= 我的项目放的地位 basicpage 我的项目分支
git subtree pull --prefix=src/basic basicpage master
- 如果嫌命令太长能够在 page.json 中增加命令
"git_push:basic": "git subtree push --prefix=src/basic basicpage master",
当然还有一些分支类的命令,大家本人能够去钻研了,这里只是简略的用法。
正文完