# npm 介绍
> 概念 : node 包管理工具
> 作用 : 通过 npm 来快速下载/安装项目中依赖的包
> 查看 版本号 : npm -v
# npm 基本使用演示
## 初始化包的配置文件 (package.json)
> npm init (不推荐)
```js "name": "npm-demo", # 1.不要有大写 2-不要写汉字 3-不要有空格 `xxx aaa-xxx` jquery art-template "version": "2.2.0", # "2.2.0" ==> x.y.z z-bug修改 y-添加了一个功能 x-添加一个功能(有兼容问题) "description": "", "main": "index.js", # 加载模块的时候用到 "scripts": { # webpack "test": "echo "Error: no test specified" && exit 1" }, "author": "是彭煜啦", "license": "ISC" ```
> npm init -y (推荐) 一键生成 // -y(yes)
- 一个配置文件必须要有的 name version
- 一个项目里一定要有 package.json
## 安装包
> npm install 包名 // jQuery
> npm install 包名@版本号 3.0.1
> 缩写 :
> npm i 包名
> 注意点 : npm i 包名 ( -S --save )
## 卸载包
> npm uninstall 包名
> 缩写
> npm un 包名
## dependencies
> 说明 : `npm i` 可以根据 `dependencies` 里面的记录重新安装包
> 以后我们会发现网络上的一些源码/我们的项目 下载下来之后,都是没有 node_modules , 但是有 package.json => dependencies => 包的记录
> 执行命令 : npm i => dependencies 记录的包名 重新安装
## 配置文件和 npm i 的配合 使用
> 没有 package.json ,也能安装包
>
> 1. `项目里一定要有package.json` (npm init -y)
> 2. `自己的demo`和`案例` 里面 可以`不要`package.json
## 本地安装和全局安装
1. 全局安装 : 如果想把一个`包`当成一个`全局工具`来使用,全局安装
格式 : `npm i 包名 -g`
比如 : npm i mime -g , npm i http-server -g (http-server 创建一个本地服务器环境托管文件)
位置 : `C:Usersma250AppDataRoaming
pm`
特点 : (可以任意地方安装 , 在任意地方使用 工具使用)
2. 本地安装 : 如果安装的包,只想在当前项目中使用, 本地安装
格式 : `npm i 包名`
位置 : 本地安装的包都装在了项目中 的 node_moduels
特点 : (在当前项目中安装,在当前项目中使用) 本地的包需要引入才可以使用
## 清除缓存
> 现象 : 如果因为网络不好,或者其他原因安装一般就失败了, 缓存里留有记录,
> 清除缓存
> 方式 1 : `C:Usersma250AppDataRoaming
pm-cache` => `_cacache`
> 方式 2 : 执行命令 : `npm cache clean -f` //==> force
## nrm
> 概念 : npm 仓库地址管理工具
> 作用 : 加速下载包
>
> 1. 全局安装 : `npm i nrm -g`
> 2. 使用 :
- 展示仓库地址 : `nrm ls`
- 切换仓库地址 : `nrm use taobao` (淘宝镜像)
## nodemon
> 以前 => `node main.js`
> 现在 => `nodemon main.js`
> 作用 : 监听 js 文件的修改,自动重启 node 程序
> 使用 :
1. 全局安装 : `npm i nodemon -g`
2. 使用 : `nodemon main.js`