南京网站制作公司

当前位置: 网站首页 - 新闻动态 - 安优观点 -

2024年最新lerna

发布时间:2024-08-28

来源:

总结

秋招即将开始,校招的朋友普遍是缺少项目经历的,所以底层逻辑,基础知识要掌握好!

而一般的社招,更是神仙打架。特别强调,项目经历不可忽视;几乎简历上提到的项目都会被刨根问底,所以项目应用的技术要熟练,底层原理必须清楚。

这里给大家提供一份汇集各大厂面试高频核心考点前端学习资料。涵盖 HTML,CSS,JavaScript,HTTP,TCP协议,浏览器,Vue框架,算法等高频考点238道(含答案)

资料截图 :

高级前端工程师必备资料包


**step 3:**

$ lerna init


运行完后在 terminal 中执行 tree 后我们可以看到此时的目录结构为

$ monorepo-example git:(master) ✗ tree
.
├── lerna.json
└── package.json


**step 4:**

$ monorepo-example git:(master) ✗ mkdir packages && cd packages


创建 packages 目录,该目录内将会存放之后所有的官方维护的 module
**step 5:**

$ packages git:(master) ✗ mkdir monorepo-example-module-a && cd monorepo-example-module-a && npm init

$ packages git:(master) ✗ mkdir monorepo-example-module-core && cd monorepo-example-module-core && npm init


新建两个 package,并通过 npm init 来初始化 package.json
此时我们的 packages 目录结构为

➜ packages git:(master) ✗ tree
.
├── monorepo-example-module-a
│ └── package.json
└── monorepo-example-module-core
└── package.json


假设 `module-a` 依赖 `module-core` 详细参考 monorepo-example 案例
**step 6:**

$ monorepo-example git:(master) ✗ lerna bootstrap
Lerna v2.0.0-beta.31
Bootstrapping 2 packages
Preinstalling packages
Installing external dependencies
Symlinking packages and binaries
Postinstalling packages
Prepublishing packages
Successfully bootstrapped 2 packages.


执行 lerna bootstrap 该操作会自动为 module-a 进行 npm install 和 npm link 操作
是不是非常方便呢!
**step 7:**

$ monorepo-example git:(master) lerna publish
Lerna v2.0.0-beta.31
Current version: 0.0.0
Checking for updated packages…
? Select a new version (currently 0.0.0) Patch (0.0.1)


Changes:
  • monorepo-example-module-a: 0.0.1 => 0.0.1
  • monorepo-example-module-core: 1.0.0 => 0.0.1

? Are you sure you want to publish the above changes? Yes

Publishing packages to npm…
npm WARN dist-tag add latest is already set to version 0.0.1
monorepo-example-module-a
npm WARN dist-tag add latest is already set to version 0.0.1
Pushing tags to git…

To git@github.com:pigcan/monorepo-example.git
0f8674c…2ecb064 master -> master
To git@github.com:pigcan/monorepo-example.git
* [new tag] v0.0.1 -> v0.0.1
Successfully published:

  • monorepo-example-module-a@0.0.1
  • monorepo-example-module-core@0.0.1

执行 lerna publish 回答几个问题便可以把自己的包推送到 npm.
当然实际情况使用中,会更复杂一些,更多的内容就留给大家看官方使用说明了,基本都是简单明了的内容,如果有不清楚的地方 官方文档 commands
利用 `lerna-changelog` 来进行 changelog 的生成   
 在现实开发中我们经常碰到一个老大难的问题就是 changelog 的梳理,在 lerna 中提供了一个非常有用的 lerna-changelog 的库,在一定的规范开发下会使得这个问题解决起来非常方便,在这边以这个仓库为例我给大家大概讲解下如何使用。
**step 1:**

$ monorepo-example git:(master) npm install lerna-changelog --save-dev


安装 lerna-changelog 依赖
**step 2:**
修改 lerna.josn 需要新增相关 lerna-changelog 所需要的配置

+“changelog”: {

  • “repo”: “pigcan/monorepo-example”,
  • “labels”: {
  • “tag: bugfix”: “Bug fix”,
  • “tag: enhancement”: “Enhancement”
  • },
  • “cacheDir”: “.changelog”
    +}

在这边需要特别注意的是 labels 内的内容,labels 的 key 必须在 github 的仓库内定义好
可以通过以下链接  来进行 labels 的创建,接下来我在 github 上分别新增 tag: bugfix 和 tag: enhancement
**step 3:**
$ export GITHUB\_AUTH=”…”   
 GITHUB\_AUTH 的 token 字段可以在github 申请 token 获得。
步骤到此结束了,但是这边要想要达到理想的效果必须要遵循一定的开发规则,其实就是需要有好的开发习惯,在此推荐个人的习惯。
如案例所示  把项目碰到的 bug、需要增强的地方等等内容都记入到 issue中,并标记好相应的 label 标签。
### 总结
秋招即将开始,校招的朋友普遍是缺少项目经历的,所以**底层逻辑,基础知识要掌握好!**
而一般的社招,更是神仙打架。特别强调,项目经历不可忽视;几乎简历上提到的项目都会被刨根问底,所以项目应用的技术要熟练,底层原理必须清楚。
这里给大家提供一份汇集各大厂面试高频核心考点前端学习资料。涵盖 **HTML,CSS,JavaScript,HTTP,TCP协议,浏览器,Vue框架,算法**等高频考点**238道(含答案)**!  
**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**
资料截图 :
![](https://img-blog.csdnimg.cn/img_convert/edeaa71cbc745698bdedcfe65be40387.png)
![](https://img-blog.csdnimg.cn/img_convert/981487b285a8b90918f35c830c299df8.png)
![](https://img-blog.csdnimg.cn/img_convert/9866daffbebcf87b44d9530a59427834.png)
**高级前端工程师必备资料包**  
![](https://img-blog.csdnimg.cn/img_convert/ba803e1b69e399b6739e3d33554d42a7.png)

策略思维与细节的完美结合,有效帮您减少试错成本

策略思维与细节的完美结合,有效帮您减少试错成本

立即与安优联系,开启网站设计全新体验

立即与安优联系,开启网站设计全新体验

立即与安优联系
开启网站设计全新体验

立即与安优联系
开启网站设计全新体验

在线咨询

在线咨询

拨打电话

返回顶部

品质设计 用心服务

  • 12年+定制经验

  • 600+客户选择

  • 高效售后保障

7*24小时服务热线