Node Cli 之 workspaces 和 lerna 入门

прm workspaces

1. 创建项目

shell 复制代码
npm init --workspace a

or 

npm init -w a

项目创建后,会在项目顶级目录下创建 node_modules 并存储所有 package 的依赖:

复制代码
node_modules
	- @samtestgroup
		- imooc-test-a -> •./../a
		- imooc-test-cli -> ..../cli

2. 安装依赖或更新依赖

为某个特定的workspace 安装依赖

shell 复制代码
npm install chalk -w a

or

npm install @samtestgroup/imooc-test-a -w cli

当修改了 package 的内容后(如:package.json 中的 name)

shell 复制代码
npm install --workspaces

or 

прт install -ws

3. 发布项目

shell 复制代码
npm publish -ws

lerna

1. 初始化项目

shell 复制代码
npx lerna init

2. 添加子项目

shell 复制代码
прx lerna create demo

更多特性:

shell 复制代码
npx lerna create cli --access public --bin --es-module

3. 添加依赖

shell 复制代码
npx lerna add chalk packages/demo

or

npx lerna add @samtestgroup/lerna-test-demo packages/cli

4. 更新依赖

shell 复制代码
nx lerna bootstrap

5. 自动化测试

shell 复制代码
npx lerha run test

6. 项目发布

shell 复制代码
npx lerna publish
相关推荐
星栈1 天前
写 Dioxus Demo 不难,难的是把它写成项目
前端·rust·前端框架
用户2204603958682 天前
HBuilder + uniapp 项目切换到VsCode
前端框架
薛定喵的谔2 天前
我开源了一个精致的 Next.js 博客模板:Skyplume
前端·前端框架·next.js
星栈2 天前
我用 Rust + Dioxus 做了个全栈跨平台笔记应用:再把新建、编辑和交付补上
前端·rust·前端框架
donecoding3 天前
3 条命令搞定闭环 Monorepo:Lerna 版本管理 + 拓扑构建 + 自定义分发
前端·前端框架·node.js
星栈4 天前
我用 Rust + Dioxus 做了个全栈跨平台笔记应用:第一版先把列表和详情跑通
前端·rust·前端框架
下家4 天前
我放弃了 Vue/React,选择自研框架
前端·前端框架
hoLzwEge5 天前
pnpm-lock.yaml
前端框架
星栈5 天前
Dioxus 接数据库最容易写歪的 3 个地方:sqlx + SQLite 怎么接才顺
前端·rust·前端框架
星栈5 天前
Dioxus 表单处理:从输入、校验到文件上传,一条链路讲透
前端·rust·前端框架