构建一个多平台项目用 git submodule 还是 npm private package?
发布于 6 年前 作者 tmirun 2525 次浏览 来自 问答

场景

想象一下开发一个 app:

  • 后端用 express.js
  • 前端用 vue.js
  • 还有客户端版用 electron 制作的离线版本 大概是这样: imagen.png

咋一看是不是三个项目?!

好戏现在开始! 第一 3个 项目有一部分的代码是通用的 (比如: 算法 第二 只有一个团队没有分工,每个人都有3个项目要编程

现在想象一下你是 CTO (技术总监),你会这么安排这个项目???

** 同事A提议用 npm 解决: ** 建立 4个 项目:

  • electron 项目
  • 网页 vue 项目
  • 服务器 express 项目
  • 一个 common 项目

common 是个npm模块,其他项目都可以 npm install 这个模块

网页和后段也模块化,electron 只负责加载服务器和网页的模块

** 同事B提议用 npm 解决 ** 建立 4个 项目:

  • electron 项目
  • 网页 vue 项目
  • 服务器 express 项目
  • 一个 common 项目

用 submodule 方式解决 它们之间的依赖性, 比如

服务器 express 项目
|- common 项目
|- src 
|  |-  其他文件 ....
|-  其他文件 ...
网页 vue 项目
|- common 项目
|- src 
|  |-  其他文件 ....
|-  其他文件 ...
2 回复

npm private package

企业级开发多数都会使用npm包吧,这个通用模块还可以继续划分成更多的微模块发布并迭代,供其他项目组装。个人项目嫌麻烦可以采用submodule,可以灵活修改。

回到顶部