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
相关推荐
Tzarevich8 小时前
用 OOP 思维打造可复用的就地编辑组件:EditInPlace 实战解析
javascript·前端框架
虎头金猫8 小时前
MateChat赋能电商行业智能导购:基于DevUI的技术实践
前端·前端框架·aigc·ai编程·ai写作·华为snap·devui
崽崽的谷雨8 小时前
react里ag-grid实现树形数据展示
前端·react.js·前端框架
我命由我1234510 小时前
微信小程序 - 避免在 data 初始化中引用全局变量
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
谢尔登10 小时前
为什么React 17开始无需在组件中引入React了?
前端·react.js·前端框架
老前端的功夫11 小时前
Webpack 深度解析:从配置哲学到编译原理
前端·webpack·前端框架·node.js
开发者小天13 小时前
React中使用classnames的案例
前端·react.js·前端框架
我命由我1234513 小时前
微信小程序 bind:tap 与 bindtap 的区别
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
重铸码农荣光15 小时前
从零实现一个「就地编辑」组件:深入理解 OOP 封装与复用的艺术
前端·javascript·前端框架