由于Node.js的内置模块仅提供了一些底层API,导致在基于内置模块进行项目开发时效率很低,包是基于内置模块封装出来的,提供了更高级、更方便的API,极大的提高了开发效率。
包和内置模块之间的关系,类似于jQuery和浏览器内置API之间的关系
查询包:https://www.npmjs.com/
下载包: https://registry.npmjs.org/
npm install 包完整名称
npm i 包完整名称
例如:
npm i moment@2.22.2
初次装包完成后,在项目文件夹下多一个叫做node_modules的文件夹和package-lock.json的配置文件。
其中:
在项目根目录中创建一个叫package-lock.json的配置文件,即可以用来记录项目中安装的软件包,从而方便剔除node_modules目录之后在团队成员之间共享项目的源代码。
注意:今后在项目开发中,一定要把node_modules文件夹添加到.gitignore忽略文件中。
如果某些包只在项目开发阶段会用到,在项目上线之后不会用到,建议把这些包安装到devDependencies节点
如果这些包在开发和项目上线之后都需要用,则建议把这些包记录到dependencies节点中。
#开发依赖包
npm i 包名 -D
//完整写法:
npm install 包名 --save-dev
#生产依赖
npm install -save 包名
或
npm install 包名
对应的包会记录到package-lock.json中的对应devDependencies或dependencies中。
#只安装生成依赖包
npm i --production
只有工具性质的包才有必要使用,建议根据官方问题提示确定是否需要全局安装。
npm i 包名 -g

默认情况下,使用国外npm包源下包慢
//查看当前的下包镜像源
npm config get registry
//切换镜像源
npm config set registry=https://registry.npm.taobao.org
为了更加方便的切换下包镜像源,我们可以安装nrm这个小工具,利用nrm提供的终端命令,快速查看和切换镜像源
#全局安装nrm
npm i nrm -g
#查看所有可用镜像源
nrm ls
#切换镜像源
nrm use taobao