区别
npm
NPM全称Node Package Manager,是Node.js包管理工具,是全球最大的模块生态系统,里面所有的模块都是开源免费的;也是Vue/Node.js的包管理工具,相当于Java中的Maven、Python中的PIP。
npm是Node.js官方推出的包管理工具,它是JavaScript世界中最流行的包管理工具之一。通过npm,我们可以方便地安装、更新和删除项目的依赖包。npm默认使用的是官方的npm镜像源,但由于国内网络环境的限制,使用npm安装依赖包可能会比较慢。可以通过使用设置镜像源或者使用cnpm,后面会介绍到这点。
pnpm
PNPM是一个快速、轻量级、模块化、安全、节省磁盘空间、可靠的JavaScript包管理器,它与npm和yarn类似,但具有一些优势。它通过共享依赖项来减少磁盘空间和下载时间。它与npm兼容,并且可以在npm的基础上构建。
与npm不同的是,pnpm使用了一种称为“符号链接”的机制来共享依赖包。这意味着,当多个项目使用相同的依赖包时,它们实际上共享同一个依赖包的副本,而不是每个项目都拥有自己的副本。这样可以显著减少磁盘空间的占用,并且安装依赖包的速度也会更快。
cnpm
cnpm是淘宝团队开发的一个针对中国用户的npm镜像源,它是npm的一个定制版本。由于国外的npm源在国内访问速度较慢,所以cnpm镜像源可以提供更快的下载速度。cnpm的使用方式与npm基本相同,只需将`npm`替换为`cnpm`即可。
常用操作
npm
使用npm命令需要先在项目根目录下初始化一个package.json文件
## 创建项目
npm init
## 按照提示输入相关信息,如果是用默认值则直接回车即可。
## package name: 项目名称
## version: 项目版本号
## description: 项目描述
## keywords: {Array}关键词,便于用户搜索到我们的项目
## author 作者
## license: (ISC) 授权license
## 最后会生成package.json文件
## 查看当前 npm 源
npm config get registry
## 设置镜像地址,切换为 taobao 源:
npm config set registry="https://registry.npm.taobao.org"
## 安装依赖包
npm install 依赖包名
## 默认参数:--save 简写 -S 将当前依赖保存在dependencies节点下
## --save-dev 简写 -D 将当前依赖保存在 devDependencies 节点下
## dependencies 字段用于存放项目的运行时依赖包,项目打包时会一并打包进去
## devDependencies 字段用于存放开发时依赖包,如测试框架、构建工具等,项目打包时不会将工具打包进去
## --global 简写 -g 会将指定的依赖安装到全局环境中
## 更新依赖包
npm update 依赖包名
## -g 全局更新依赖
## -S 更新到dependencies节点
## -D 更新到devDependencies节点
## 卸载依赖包
npm uninstall 依赖包名
## -g 全局更新卸载依赖
## -S 卸载dependencies节点下的依赖包
## -D 卸载devDependencies节点下的依赖包
## 查看已安装的依赖项
npm list
## 简写 ls
## 发布自己编写的库
## 该命令会将当前项目打包成一个.tar.gz文件
npm pack
## 将打包好的文件上传到npm官方仓库中
npm publish
pnpm
## 安装pnpm
npm install -g pnpm
## 其他常用命令同npm一致
cnpm
## 安装cnpm
npm install -g cnpm
## 其他常用命令同npm一致
标签:npm,vue,cnpm,项目,##,依赖,pnpm From: https://www.cnblogs.com/-CO-/p/17967650