了解npm
- 第三方模块是别人写好的一些文件,我们要使用这些文件,就需要下载。
- node提供了一个工具,叫做npm,专门用来管理这些模块。可以下载,可以更新。。。,npm除了可以管理第三方模块,还可以管理一些框架、插件和库。
- 所以npm叫做包管理器,我们将模块、插件、库统称为包。
- npm这个工具在安装node的时候会自带npm。
使用 npm
- 测试工具:在命令行输入
npm -v
能有个版本号,就说明工具能用
下载包
- 打开命令行,输入下载的指令
npm install 模块名称
- 简写:
npm i 模块名称
- npm 默认下载的是最新版本
- 下载指定的版本:
npm i 模块名称@版本
- 如:
npm install [email protected]
- 可以同时下载多个包,多个包名中间用空格隔开
- 下载完毕以后,就会在当前目录下多出一个文件夹
- 叫做
node_modules
- 在这个目录下就会有一个文件夹叫做
bootstrap
- 每次下载会自动生成一个文件:
package-lock.json
,里面下载的各种信息
删除包
- 如果某个包不想使用了,可以使用命令进行卸载
- 语法:
npm uninstall 包名
- 如:
npm uninstall jquery
- 这样,这个包就会被卸载了
管理项目
package.json
这个文件用来描述当前项目的各种信息。通常一个项目中会使用到很多的包、库、模块、插件等等,到项目完成的时候,node_modules
这个文件夹会很大,如果要上线了或者要放到别的地方运行,将这个文件夹复制的话,会很大。解决这个问题,可以使用package.json
。在这个文件中可以将项目依赖的包的信息,写进去,以后别人拿到这个文件就能知道,这个项目依赖的包有哪些。
- npm 会帮助我们记录,我们当前这个项目所使用的包
- 但是前提是,你要告诉 npm 说: “你来帮我管理整个文件夹”
- 指令为:
npm init
- 命令执行后,需要根据提示输入项目的信息
- 如果不想输入很多信息,可以全部使用默认值:
npm init -y
- 如果要使用默认的话,当前文件夹名不能是中文
- 有了这个文件后,再下载包的话,文件中就会添加依赖的包的信息:
{
"name": "03-npm", //描述了包的名字,不能有中文
"version": "1.0.0", //描述了包的的版本信息, x.y.z 如果只是修复bug,需要更新Z位。如果是新增了功能,但是向下兼容,需要更新Y位。如果有大变动,向下不兼容,需要更新X位。
"description": "", //包的描述信息
"main": "index.js", //入口文件(模块化加载规则的时候详细的讲)
"scripts": {
//配置一些脚本,在vue的时候会用到,现在体会不到
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [], //关键字(方便搜索)
"author": "", //作者的信息
"license": "ISC", //许可证,开源协议
"dependencies": {
//重要,项目的依赖, 方便代码的共享 通过 npm install可以直接安装所有的依赖项
"bootstrap": "^3.3.7",
"jquery": "^3.3.1"
}
}
- 别人拿到这个文件,只需要执行命令就可以将项目依赖的包都下载下来:
npm i
清除缓存
- 有的时候,有些包下载到一半,因为各种原因失败了(比如突然没有网了)
- 那么这个下载了一半的包 有可能 会被缓存下来
- 那么以后你再次下载的时候,就都是失败的状态
- 那么我们就要清除掉缓存以后,在重新下载
- 清除 npm 的缓存:
npm cache clean -f
- 或者在执行完命令再删除缓存文件夹
全局安装
- 上面安装的包,都是只能在当前文件夹使用,如果将项目文件放到别的地方,就找不到安装的依赖包了,我们将这种安装方式叫做局部安装。
- 还有一种安装方式叫做全局安装,只需要在当前电脑上安装一次,在电脑的任何地方都能使用。
- 全局安装命令:
npm install --global 包名
global
可简写成g
nrm
npm在下载包的时候,默认下载地址在国外,有时候网速不太好。所以node提供了一个工具用来管理npm下载工具,可以改变npm的下载地址,这个工具就是nrm。
安装 nrm
- nrm这个工具不自带,需要手动下载安装:
npm i -g nrm
- 这里要把这个 nrm 安装成一个全局的依赖,而不再是项目内部的依赖了
- 检测是否安装成功:
nrm --version
,能出现版本号,表示安装成功
使用 nrm
现在有很多网址,将常用的工具放上去,供人们下载,我们将这些网址叫做镜像源。
- nrm 里面存着好几个镜像源地址,我们要挑一个比较快的使用
检测镜像源地址
- 我们直接在命令行使用指令来查看所有镜像源地址的网速
- nrm的使用:
nrm test
- 用来检测哪个地址下载速度快一些,当前使用地址前面会带
*
切换镜像源
- 测试出来的结果:
镜像源名称 ---- 网速
,我们挑选网速最快的镜像源地址使用: nrm use taobao
将下载地址切换成taobao的镜像源
cnpm
- 下载可以使用中国的下载工具:
cnpm
npm i cnpm -g
- 用cnpm代替npm,具体的使用方式跟npm一样