npm初始化
新建文件夾spring-breeze,在集成終端輸入
npm init -y
根目錄會(huì)生成package.json:
{
"name": "spring-breeze",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
安裝lerna
全局安裝lerna
執(zhí)行:npm i lerna -g
安裝完成后執(zhí)行:lerna init
執(zhí)行完成后后出現(xiàn)這樣的目錄結(jié)構(gòu)
- packages(目錄)
- lerna.json(配置文件)
- package.json(工程描述文件)
初始化兩個(gè)package
默認(rèn)情況下董栽,package是放在packages目錄下的.創(chuàng)建包可以使用命令lerna create <name> [loc]
lerna create core packages/core
lerna create core packages/tools
或者手動(dòng)創(chuàng)建,這里采用手動(dòng)創(chuàng)建
在packages新建兩個(gè)package(包)文件:core和tools并分別執(zhí)行:npm init -y
修改core和tools中packages的main:bin/index.js
分別在core和tools新建bin/index.js
#!/usr/bin/env node
console.log("我是tools包~~")
#!/usr/bin/env node
console.log("我是core包~~")
此時(shí)目錄結(jié)構(gòu)為
-- packages(目錄)
-- core
-- bin
-- index.js
- tools
-- bin
-- index.js
- lerna.json(配置文件)
- package.json(工程描述文件)
安裝第三方包lerna add
-
添加公共依賴
在根目錄下執(zhí)行(在哪個(gè)目錄執(zhí)行都一樣):lerna add lodash
此時(shí)會(huì)發(fā)現(xiàn)core和tools都被安裝了lodash -
添加單獨(dú)依賴
lerna add jquery --scope=core
core就會(huì)被安裝了jquery
刪除依賴lerna clean
執(zhí)行l(wèi)erna clean會(huì)刪除所有包中的node_modules
安裝所有依賴lerna bootstrap
執(zhí)行l(wèi)erna bootstrap會(huì)重新安裝所有依賴
發(fā)布前準(zhǔn)備
- 注冊(cè)npm賬戶
- 新建組織spring-breeze(根據(jù)自己項(xiàng)目而定)
- 分別修改core和tools中package.json中name為:@spring-breeze/core、@spring-breeze/tools防止重名
- 執(zhí)行npm login
- 分別在core和utils下的package.json中配置
"publishConfig": {
"access": "public"
}
- 新建gitignore
*node_modules
- 新建git倉(cāng)庫(kù),將項(xiàng)目git remote add "你的git倉(cāng)庫(kù)",并且提交項(xiàng)目至git倉(cāng)庫(kù)
git remote add https://gitee.com/geeksdidi/spring-breeze.git
git add .
git commit -m "初始化"
git push -u origin master
- 新建LICENSE.md(不加會(huì)報(bào)錯(cuò))
- 修改一個(gè)文件執(zhí)行 lerna publish
查看已發(fā)布的package
登陸npm官網(wǎng) 即可看到自己發(fā)布的package