使用npm workspace 管理npm 包
2021/12/15 6:19:29
本文主要是介绍使用npm workspace 管理npm 包,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
从npm 7.0 开始已经支持workspace了(以前大家使用的比较多的是lerna 以及yarn。。。。)
npm 的workspace 使用简单,而且将依赖统一放到了node_moduels 文件夹中,而且可以减少
我们测试的npm link 问题,是值得尝试的
参考使用
- 初始npm 项目
npm i -y
- 添加一个项目
npm init -w ./packages/a
简单代码
module.exports = {
name:"a",
age:333
}
- 添加另外一个项目
npm init -w ./packages/b
简单代码
module.exports = {
name:"b",
age:333
}
- 项目入口使用模块
需要先安装下类似lerna 的bootstrap,yarn 的workspace 可以自动处理
const a = require("a")
console.log(a)
- 项目结构
├── index.js
├── node_modules
│ ├── a -> ../packages/a
│ ├── b -> ../packages/b
├── package-lock.json
├── package.json
└── packages
├── a
└── b
- 运行效果
- 添加npm 引用
到一个具体的workspace
npm install shortid -w a
workspace 都添加模块
npm install uuid --workspaces
- 运行命令
功能上与给workspace添加包类似
npm run test --workspaces // 全部运行
npm run test --workspace=a --workspace=b // 指定workspace
npm run test --workspaces --if-present //异常处理
说明
目前来说npm 的workspace 是一个很不错的lerna 以及yarn 替换模式,还是很值得使用的,同时也包含了publish 时候版本提升的处理
参考资料
https://docs.npmjs.com/cli/v8/using-npm/workspaces
https://docs.npmjs.com/cli/v8/commands/npm-publish
这篇关于使用npm workspace 管理npm 包的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27Rocket消息队列资料:新手入门指南
- 2024-11-27rocket消息队资料详解与入门指南
- 2024-11-27RocketMQ底层原理资料详解入门教程
- 2024-11-27RocketMQ项目开发资料:新手入门教程
- 2024-11-27RocketMQ项目开发资料详解
- 2024-11-27RocketMQ消息中间件资料入门教程
- 2024-11-27初学者指南:深入了解RocketMQ源码资料
- 2024-11-27Rocket消息队列学习入门指南
- 2024-11-26Rocket消息中间件教程:新手入门详解
- 2024-11-26RocketMQ项目开发教程:新手入门指南