node包管理工具
npm
npm的基本概念
node package manager
- 作用 : 通过
npm
来快速安装/下载项目中依赖的包 - npm不需要安装,只要安装了node,就自带了
npm
npm基本使用
初始化包
配置文件
npm init
//这个命令用于初始化一个包,创建一个package.json文件,所有的项目都应该先执行npm init
npm init -y //快速强制的初始化一个包 -y 是否初始化包
安装包
npm install 包名
//注意:
//1.不准使用中文
//2.不准留空格
//3.不准驼峰式写法
npm install 包名@版本号
//简写写法
npm i 包名 //等同于 npm i 包名 --save 和 npm i 包名 -s
卸载包
npm uninstall 包名 //卸载已经安装的包
npm un 包名 //简写写法
查看命令帮助
npm 命令 --help
忘了哪个,查哪个
package.json文件(配置文件)
package.json文件,是包描述文件,用来管理组织一个包/项目,是一个存JSON格式
一个项目里一定要有 package.json(小demo里可以没有,也能安装包)
一个配置文件必须要有 name,version
- 作用:描述
当前项目(包)的信息
,描述当前包(项目)的依赖项
- 如何生成
npm init
npm init -y
- 存在的意义
- 作为一个标准的包,必须要有
package.json
文件进行描述 - 以后我们会发现网络上的一些源码/我们的项目 下载下来之后,都是没有 node_modules , 但是有 package.json => dependencies => 包的记录 ,执行命令 : npm i => dependencies 记录的包名 重新安装
- 作为一个标准的包,必须要有
{
"name": "03-npm", //描述了包的名字 1.不要有大写 2-不要写汉字 3-不要有空格
"version": "1.0.0", //描述了包的的版本信息, x.y.z z-bug修改 y-添加了一个功能 x-添加一个功能(有兼容问题)
"description": "", //包的描述信息
"main": "index.js", //入口文件(模块化加载规则的时候详细的讲)
"scripts": { //配置一些脚本,在vue的时候会用到,现在体会不到
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [], //关键字(方便搜索)
"author": "", //作者的信息
"license": "ISC", //许可证,开源协议
"dependencies": { //重要,记录项目的依赖,`npm i` 可以根据 `dependencies` 里面的记录重新安装包
"bootstrap": "^3.3.7",
"jquery": "^3.3.1"
}
}
package-lock.json
- npm5以前版本 ,没有
package-lock.json
这个文件, - npm5之后的 ,当安装包的时候,npm都会生成或者更新
packpage-lock.json
- npm5以后版本安装包时 ,不需要加
--save
package-lock.json
会保存node_modules
中所有包的信息(版本,下载地址)lock
是用来锁定版本号,防止自动升级版本
本地安装和全局安装
安装npm包的两种方式 : 本地安装,全局安装
全局安装
如果想把一个
包
当成一个全局工具
来使用,就全局安装
- 格式
npm i 包名 -g
- 比如
npm i mime -g
(mime就作为全局的命令行工具使用,查看文件的mime类型mime aa.txt
) npm i http-server -g
http-server创建了一个本地服务器环境托管文件
- 比如
- 位置 :
C:\Users\Adminator\AppData\Roaming\npm目录下
- 特点:在任意位置安装,在任意位置使用
本地安装
如果安装的包,只想在当前项目中使用,就本地安装 ,注意,本地安装的包要引入才能使用
- 格式:
npm i 包名
- 位置 : 本地安装的包都装到了项目中的node_moduels
- 特点: 在当前项目中安装,只在当前项目中使用 (本地的包需要引入才能使用)
// 全局安装,会把npm包安装到C:\Users\Adminator\AppData\Roaming\npm目录下,作为命令行工具使用
npm install -g 包名;
//本地安装,会把npm包安装到当前项目的node_modules文件中,作为项目的依赖
npm install 包名;
// 本地
const mime = require('mime')
console.log(mime.getType('.aaa.txt'));
清除缓存
如果网络不好或者其他原因安装到一半就失败了,缓存里就会有这次记录,可能会导致其他的包安装失败
主要是
_cache
清除方式
- 方式一
C:\Users\Adminator\AppData\Roaming\npm
- 方式二 执行命令
npm cache clean -f
(f 是force 强制清除)
nrm (npm下载加速)
npm registry manager (npm仓库地址管理工具) npm下载包的时候速度快点
- 安装nrm :
npm i -g nrm
镜像 : npm 在国内的备份
# 带*表示当前正在使用的镜像地址地址
# 查看镜像地址列表
nrm ls
# 切换镜像地址
nrm use taobao
nodemon自动重启
- 作用:监视到js文件修改后,自动重启 node程序
- 安装 :
npm i -g nodemon
- 使用 :
nodemom main.js
运行node程序 - 强制重启:
rs
cnpm(国内资源)
- 全局安装
npm i cnpm -g
- 查看版本号
cnpm -v
(xxx -version) - 使用
cnpm i 包名
yarn
- 全局安装
npm i yarn -g
- 查看版本号
yarn -v
- 使用
yarn add art-template
(包名没有npm多)