需求分析
在日常專案中,會有幾個專案共同的元件或者工具函式庫。這些程式碼如果在各個專案中都copy一份的話,如果有需要改動的話,oh,要累死去。
本著DPR
的原則,需要一種可以管理公用程式碼的方法。並且程式碼中有些是公司內部業務邏輯,這肯定不能釋出成公用包。所以需要一種私有包管理方案。
可選方案
-
1、
npm
官方私有包,需要收費,pass -
2、搭建
npm
私有伺服器,還沒有這個必要,pass -
3、使用
npm
安裝git
倉庫 簡單便利 -
4、使用
git
的submodule
,在主倉庫中巢狀子倉庫
npm
安裝 git
倉庫
因為github私有倉庫需要收費,這裡我使用碼雲建立免費私有 git
倉庫。
在專案中直接 npm
安裝私有倉庫,示例:
npm install git+ssh://git@github.com:ltinyho/test.git
可以使用npm install --help
檢視install命令(npm@5.3.0)
npm install (with no args, in package dir)
npm install [<@scope>/]<pkg>
npm install [<@scope>/]<pkg>@<tag>
npm install [<@scope>/]<pkg>@<version>
npm install [<@scope>/]<pkg>@<version range>
npm install <folder>
npm install <tarball file>
npm install <tarball url>
npm install <git:// url>
npm install <github username>/<github project>
從git安裝可以選擇標籤|分支|commit,最好更該程式碼後修改倉庫中package.json
版本資訊
npm install <github username>/<github project>#<tag|branch|commit>
git submodule
倉庫巢狀
git submodule add <倉庫地址> <檔案路徑>
在專案根目錄生成`.gitmodules`檔案,記錄子模組的資訊
新專案安裝或者更新
git submodule init
git submodule update