lerna.js:monorepos项目管理模式简单实践

简介: lerna.js:monorepos项目管理模式简单实践

解释:

  • monorepos: 把相互依赖的项目组织成多包的形式放在同一个代码仓库里面
  • lerna.js:管理项目的一个工具

文档:

安装lerna

$ pnpm i lerna -g

修改配置 lerna.json,设置包管理工具为:pnpm

{
  "$schema": "node_modules/lerna/schemas/lerna-schema.json",
  "useNx": true,
  "useWorkspaces": true,
  "version": "0.0.0",
  "npmClient": "pnpm"
}

lerna init

# 初始化
$ lerna init

lerna create

# 创建三个新包
$ lerna create  -y animal
$ lerna create -y cat
$ lerna create  -y dog

文件目录

$ tree -I node_modules
.
├── lerna-debug.log
├── lerna.json
├── package-lock.json
├── package.json
├── packages
│   ├── animal
│   │   ├── README.md
│   │   ├── __tests__
│   │   │   └── animal.test.js
│   │   ├── lib
│   │   │   └── animal.js
│   │   └── package.json
│   ├── cat
│   │   ├── README.md
│   │   ├── __tests__
│   │   │   └── cat.test.js
│   │   ├── lib
│   │   │   └── cat.js
│   │   └── package.json
│   └── dog
│       ├── README.md
│       ├── __tests__
│       │   └── dog.test.js
│       ├── lib
│       │   └── dog.js
│       └── package.json
└── pnpm-lock.yaml

lerna list

列出所有的本地包

$ lerna list      
info cli using local version of lerna
lerna notice cli v5.4.3
animal
cat
dog
lerna success found 3 packages

lerna add

添加本地包或者远程包作为包的依赖

# 添加的 animal 作为 dog、cat 的依赖
lerna add animal
# 向 dog 中添加 cat 作为依赖
lerna add cat --scope=dog

lerna link

建立存在依赖关系的包之间的软连接

$ lerna link

建立软链之后,就可以相互引用了

lerna bootstrap

建立相互依赖的包之间的软连接并安装其他的依赖

$ lerna bootstrap

lerna run

在包目录下执行对应的脚本

# 在所有的包目录下执行测试
$ lerna run test
# 在dog 包目录下执行测试
$ lerna run test --scope=dog

lerna clean

移除所有 package 下的 node_modules,除了根目录下的 node_modules

$ lerna clean

参考

Lerna 小白入门


相关文章
|
2月前
|
存储 JavaScript 前端开发
使用JavaScript构建动态交互式网页:从基础到实践
【10月更文挑战第12天】使用JavaScript构建动态交互式网页:从基础到实践
88 1
|
2月前
|
JavaScript 前端开发 安全
TypeScript的优势与实践:提升JavaScript开发效率
【10月更文挑战第8天】TypeScript的优势与实践:提升JavaScript开发效率
|
2月前
|
JavaScript 前端开发 开发者
理解JavaScript中的原型链:基础与实践
【10月更文挑战第8天】理解JavaScript中的原型链:基础与实践
|
2月前
|
前端开发 JavaScript UED
探索JavaScript中的异步编程模式
【10月更文挑战第21天】在数字时代的浪潮中,JavaScript作为一门动态的、解释型的编程语言,以其卓越的灵活性和强大的功能在Web开发领域扮演着举足轻重的角色。本篇文章旨在深入探讨JavaScript中的异步编程模式,揭示其背后的原理和实践方法。通过分析回调函数、Promise对象以及async/await语法糖等关键技术点,我们将一同揭开JavaScript异步编程的神秘面纱,领略其带来的非阻塞I/O操作的魅力。让我们跟随代码的步伐,开启一场关于时间、性能与用户体验的奇妙之旅。
|
2月前
|
前端开发 JavaScript
深入理解JavaScript中的事件循环(Event Loop):从原理到实践
【10月更文挑战第12天】 深入理解JavaScript中的事件循环(Event Loop):从原理到实践
37 1
|
18天前
|
前端开发 JavaScript UED
探索JavaScript的异步编程模式
【10月更文挑战第33天】在JavaScript的世界里,异步编程是提升应用性能和用户体验的关键。本文将带你深入理解异步编程的核心概念,并展示如何在实际开发中运用这些知识来构建更流畅、响应更快的Web应用程序。从回调函数到Promises,再到async/await,我们将一步步解锁JavaScript异步编程的秘密,让你轻松应对各种复杂的异步场景。
|
18天前
|
Web App开发 JavaScript 前端开发
构建高效后端服务:Node.js与Express框架的实践
【10月更文挑战第33天】在数字化时代的浪潮中,后端服务的效率和可靠性成为企业竞争的关键。本文将深入探讨如何利用Node.js和Express框架构建高效且易于维护的后端服务。通过实践案例和代码示例,我们将揭示这一组合如何简化开发流程、优化性能,并提升用户体验。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
2月前
|
JavaScript 前端开发 API
探索Node.js中的异步编程模式
【10月更文挑战第4天】在JavaScript的世界中,异步编程是提升应用性能和用户体验的关键。本文将深入探讨Node.js中异步编程的几种模式,包括回调函数、Promises、async/await,并分享如何有效利用这些模式来构建高性能的后端服务。
|
2月前
|
JavaScript 前端开发 调度
探索Node.js中的异步编程模式
在Node.js的世界里,异步编程是核心。本文将带你深入了解异步编程的精髓,通过代码示例和实际案例分析,我们将一起掌握事件循环、回调函数、Promises以及async/await等关键概念。准备好迎接挑战,让你的Node.js应用飞起来!
|
2月前
|
Web App开发 JavaScript API
构建高效后端系统:Node.js与Express框架的实践之路
【9月更文挑战第37天】在数字化时代的浪潮中,后端开发作为技术架构的核心,承载着数据处理和业务逻辑的重要职责。本文将深入探讨如何利用Node.js及其强大的Express框架来搭建一个高效、可扩展的后端系统。我们将从基础概念讲起,逐步引导读者理解并实践如何设计、开发和维护一个高性能的后端服务。通过实际代码示例和清晰的步骤说明,本文旨在为初学者和有经验的开发者提供一个全面的指南,帮助他们在后端开发的旅途上走得更远。
50 3
下一篇
无影云桌面