lerna 包管理器
时间:2022-07-28
本文章向大家介绍lerna 包管理器,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Lerna 是一种工具,针对 使用 git 和 npm 管理多软件包代码仓库的工作流程进行优化。 多包管理器
安装
npm i lerna -g
命令
- init 项目初始化
lerna init // 默认初始化
lerna init --independent // 使用独立版本模式
lerna init --exact
init 生成目录
packages/ // 默认包目录
package.json
lerna.json // lerna 配置
- bootstrap 为所有包安装依赖
lerna bootstrap
- add 添加依赖, 类似 npm install
lerna add <package> // 为所有包安装依赖
lerna add <package> --scope=<targe> // 只为 targe 安装 package
lerna add <package> --dev // 标记为开发依赖
- run 执行包内 scripts 命令
lerna run test // 执行所有包内的 test 命令
lerna run --scope=root dev // 只执行root包内的 dev 命令
- create 创建新包
lerna create pk-name // 在默认包管理目录生成包 pk-name
lerna create pk-name src // 在src目录下生成包 pk-name, 指定包生成目录
- exec 执行任意指令
lerna exec -- rm -fr lib // 删除所有包内的 lib 目录
lerna exec --scope root -- ls // 查看 root 包内目录
- publish 发布包
- updated 更新包
- clean 删除所有包内 node_modules
- changed 列出有更新的包
- list 列出公共包
lerna ls // 显示所有公开包, package.json => { private:false }
lerna ls -a // 显示所有包, 包含私有包
- import 导入本地包
- link 创建依赖连接
- info 显示基础信息
learn.json 配置
{
"version": "1.1.3", // 统一包版本, 为 "independent" 时,各个包独立管理版本
"npmClient": "yarn", // 包命令客户端
"npmClientArgs": [ "--production" ], // 包命令参数
"packages": [ // 包管理目录
"packages/*",
"apps/*"
],
"command": { // 命令配置
"publish": {
"ignoreChanges": ["ignored-file", "*.md"],
"message": "chore(release): publish",
"registry": "https://npm.pkg.github.com"
},
"bootstrap": {
"ignore": "component-*",
"npmClientArgs": ["--no-package-lock"]
}
}
文档
- RabbitMQ(三) ——发布订阅
- RabbitMQ(四) ——路由
- RabbitMQ(六) ——RPC模式
- VFS四大对象之一 struct super_block
- 高性能网站架构方案(二)——优化网站响应时间
- VFS四大对象之二 struct inode
- Ubuntu 安装 Redis
- 高性能网站架构方案(三) ——Varnish加速与Gearman任务分发
- mysql 性能优化方案 (转)
- 《Redis设计与实现》读书笔记(一)——简单动态字符串(SDS)
- Comet:基于 HTTP 长连接的“服务器推”技术
- 编码修炼 | 快速了解Scala技术栈
- VFS四大对象之三 struct dentry
- PHP 排序算法实现讲解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- LeetCode-5.最长回文子串 中心扩散法
- 再谈备份微博
- Scala中的IO操作及ArrayBuffer线程安全问题
- 关于数字雨特效的学习
- linux 之mysql——约束(constraint)详解
- NFS+NIS+Autofs 实现用户的集中化管理
- [docker]Tomcat安装及配置访问权限
- Nginx+Keepalived 保障HA高可用
- Hash一致性闭环算法 - ( 适用于Redis扩容、Nginx多级缓存 等等 )
- MySQl 事务测试
- 百万数据,SQL数据分流查询
- Linux 安装Apr - 提高Tomcat 的可伸缩性和性能
- Linux下MySQL的彻底卸载
- Excel生成导入SQL语句,快速创建批量 insert/update/delete
- MySQL 执行计划详解