这是我参与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
以上就是全部的发布流程了。