這是我參與8月更文挑戰的第3天,活動詳情查看:8月更文挑戰vue
第一步:全局安裝依賴git
npm install --global lerna
複製代碼
第二步:建立新的git庫正則表達式
git init lerna-repo && cd lerna-repo
複製代碼
第三步:將倉庫轉化爲lerna倉庫mongodb
lerna init
複製代碼
倉庫文件結構以下:shell
初始化npm
在當前 Lerna 倉庫中執行引導流程(bootstrap)。安裝全部 依賴項並連接任何交叉依賴。json
將本地路徑 中的軟件包導入(import) packages/ 中並提交 commit。bootstrap
將本地路徑 中的軟件包導入(import) packages/ 中並提交 commit。markdown
檢查自上次發佈以來哪些軟件包被修改過。koa
列出全部或某個軟件包自上次發佈以來的修改狀況。
在每個包含 [script] 腳本的軟件包中運行此 npm 腳本。
列出當前 Lerna 倉庫中的全部公共軟件包(public packages)。
安裝依賴
使用方式
lerna add 依賴文件 安裝地址
複製代碼
實現互相依賴
初始化npm項目
安裝lerna
lerna init初始化項目
lerna create建立Pacakage
lerna add 安裝依賴
lerna link 連接依賴
lerna exec執行shell腳本
lerna run 執行npm命令
lerna clean 清空依賴
lerna bootstrap重裝依賴
lerna version bumo version
lerna changed 查看上版以及的全部變動
lerna diff 查看diff
lerna publish項目發佈
首先項目初始化
npm init -y
複製代碼
而後安裝lerna,同時最好也全局安裝下
npm i -D lerna
npm i -g lerna
複製代碼
lerna -v
複製代碼
查看下lerna的版本,個人是4.0.0的版本
初始化lerna
lerna init
複製代碼
如今進入第二個步驟建立package,首先要建立兩個package,core和utils,這兩個是咱們的核心。
lerna create core
複製代碼
執行命令後會你會看到下面內容,由於沒有什麼設置,除了名稱外,其餘不需更改
能夠根據我的須要修改
第二個package操做相同
忽然想到一個事情,忘記說了,有沒有注意到個人文件名以及建立的每一個package,demo-cli-dev,
這個是你須要在npm上建立的組建,建立也很簡單
首先登陸npm,地址是www.npmjs.com/ 若是你沒有帳號,記得請註冊一個帳號哈,
而後在這裏點擊Add Organization,以下圖
點擊後進入下面頁面
在name裏輸入你的組織名稱
而後點擊create就建立成功了
1.首先綁定咱們的git庫, 在碼雲上建立咱們的git倉庫,
git add .
git commit -m 'git init'
git remote add origin https://gitee.com/xxx/xxx.git
複製代碼
使用
git remote -v
複製代碼
查看是否綁定到git庫上
git push origin master --set-upstream
複製代碼
也能夠再push下,通常返回
Everything up-to-date
複製代碼
這個說明你已經更新上去了,你能夠再看下你的git庫,已經有了你的代碼。
而後咱們繼續往下走
lerna version
複製代碼
這個命令 識別出修改的包 --> 建立新的版本號 --> 修改package.json --> 提交修改 打上版本的tag --> 推送到git上。
你會看到下面的圖
選擇Patch(1.0.1)
而後執行
lerna publish
複製代碼
在這個地方會報兩種錯誤,一種是你沒有登陸到npm上,還有一種是沒有看到你寫的私有package
若是是第一種錯誤
那麼執行
npm login
複製代碼
而後輸入你的帳號和密碼,還有郵箱號等等
第二種是修改你的私有package,
好比在core文件夾新加一個bin目錄,在目錄下新建一個index.js
在core和utils的目錄的package.json文件中加上
"publishConfig": {
"access": "public"
}
複製代碼
在這裏強調一點,在執行lerna publish以前,請確保你的代碼都已經更新到git庫上了
經過上邊的修改,咱們再執行
lerna publish
複製代碼
選patch
若是你看到的是這樣的,那麼恭喜你,發佈成功了!
咱們能夠在npm上看到你的package
以上就是全部的發佈流程了。