包是什么
【包】英文单词 package, 代表了一组特定功能的源码集合
常用的包管理工具
下面列举了前端常用的包管理工具
- npm
- yarn
- cnpm
npm
npm 全称 Node Package Manager, 翻译为中文的意思是 [Node的包管理工具]
npm的安装
node.js 安装时会自动安装npm, 所以如果你已经安装了node.js, 可以直接使用npm,可以通过 npm -v 查看版本号,如果显示版本说明安装成功,反之安装失败
npm 查看全局安装包的命令
npm root -g
npm 发布一个包
我们可以将自己开发的工具包发布到npm服务上,方便自己和其他开发者使用,操作步骤如下
- 创建文件夹,并创建文件index.js, 在文件夹中声明函数,使用
module.exports暴露 - npm初始化工具包,package.json 填写包的信息(包的名字是唯一的)
- 注册npm账号 www.npmjs.com/
- 激活账号
- 修改为官方的官方镜像(终端中运行
nrm use npm) - 终端中再输入
npm login填写相关用户信息 - 终端中输入
npm publish提交包
npm更新包
后续可以对自己发布的包进行更新,操作步骤如下
- 更新包中的代码
- 测试代码是否可用
- 修改package.json中的版本号
- 发布更新
npm publish
删除包
执行npm unpublish 如果执行失败可用 npm unpublish --force
nrm
使用nrm 配置npm的镜像地址 npm registry manager
- 安装
npm i -g nrm
- 镜像修改
nrm use taobao
- 检查是否配置成功(选做)
npm config list
- nrm 的常用命令
nrm ls查看nrm支持的所有镜像地址
yarn
我们可以使用npm 安装yarn
npm i -g yarn
yarn 常用命令
| 功能 | 命令 |
|---|---|
| 初始化 | yarn init / yarn init -y |
| 安装包 | yarn add uniq 生产依赖 |
| 安装包 | yarn add less --dev 开发依赖 |
| 安装包 | yarn global add nodemon 全局安装 |
| 删除包 | yarn remove uniq 删除项目依赖包 |
| 删除包 | yarn global remove nodemon 全局删除包 |
| 安装项目依赖 | yarn |
| 运行命令别名 | yarn <别名> 不需要添加run |
yarn 配置淘宝镜像
可以通过如下命令配置淘宝镜像
yarn config set registry https://registry.npmmirror.com/
可以通过yarn config list 查看yarn的配置项
nvm
- 介绍
nvm全称 Node Version Manager 顾名思义它是用来管理node版本的工具,方便切换不同版本的Node.js
- 使用
nvm的使用非常简单,跟npm的使用方法类似
下载安装
首先先下载nvm,
下载地址1官网 nvm.uihtm.com/doc/downloa…
下载地址2 github.com/coreybutier…
选择nvm-setup.exe下载即可
常用命令
| 命令 | 说明 |
|---|---|
| nvm list available | 显示所有可以下载的Node.js版本 |
| nvm list | 显示已安装的版本 |
| nvm install 18.12.1 | 安装18.12.1版本的Node.js |
| nvm install latest | 安装最新版的Node.js |
| nvm uninstall 18.12.1 | 删除某个版本的Node.js |
| nvm use 18.12.1 | 切换18.12.1的Node.js |
pm2
可以用来自动启动程序,适用于生产环境
npm install pm2 -g # 全局安装
pm2 --version # 验证安装
pm2 start app.js # 启动单文件
pm2 start npm -- start # 启动 npm 脚本(如 React/Vue)
pm2 start "python app.py" --name "python-app" # 启动非 Node 应用
pm2 list # 查看运行中的进程列表
pm2 stop <app_name|id> # 停止指定应用
pm2 restart <app_name|id> # 重启应用
pm2 delete <app_name|id> # 删除应用
pm2 delete all # 删除所有应用