在了解 NPM 之前,我们需要理解 NodeJS 中包和模块是什么?
简单来说,一个模块是一个单独的文件, 一个包中可以有一个或多个模块。
而在 NodeJS 中为了方便开发人员发布、安装和管理包,,NodeJS 推出了一个包管理工具 NPM ( Node Package Manager )。
NPM 不需要我们单独安装,只要搭建好 NodeJS 环境就已经自动安装好了
NPM就相当于电脑上的软件管家,通过 NPM 我们可以快速找到我们需要的包,可以快速安装我们需要的包, 可以快速删除我们不想要的包等等。
NPM 的使用NPM 包的安装方式1、全局安装
全局安装一般用于安装全局使用的工具,存储在全局 node_modules 中。
# 安装包
npm install -g 包名 # 默认安装最新版本
# 卸载包
npm uninstall -g 包名
# 更新包
npm update -g 包名 # 更新失败可以直接使用install
2、本地安装
本地安装一般用于安装当前项目使用的包, 存储在当前项目node_modules中
# 安装包
npm install 包名
# 卸载包
npm uninstall 包名
# 更新包
npm update 包名
关于 NPM 中的 package.json在我们创建一个项目的时候,我们项目目录下是没有 package.json 这个文件的,所以我们初始化本地包后可以自动生成
npm init
我们可以打开这个文件来看看文件的内容
在包描述文件 package.json 中定义了当前项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install 命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境
注意点:package.json 文件中, 不能加入任何注释
在 package.json 中有两个配置项需要我们注意:
- dependencies:生产环境包的依赖,一个关联数组,由包的名称和版本号组成
- devDependencies:开发环境包的依赖,一个关联数组,由包的名称和版本号组成
当我们在安装包时使用npm install 包名 --save
安装的包名会在dependencies
这个配置项中体现出来。
当我们在安装包时使用npm install 包名 --save-dev
安装的包名会在devDependencies
这个配置项中体现出来。
当我们将项目拷贝给其它人,或者发布的时候,我们不会将项目中的 node_modules 也给别人,因为太大,而且有的包可能只在开发阶段需要,但是在上线阶段不需要,所以需要分开指定
所以在将项目发布的时候可以使用下面的命令来配置对应的环境
npm i 所有的包都会被安装
npm i --production 只会安装dependencies中的包
npm i --development 只会安装devDependencies中的包
这就时 NPM 方便的地方。
下载 Node 包太慢怎么办?不少读者在使用 NPM 的时候面临一个问题就是使用 NPM 安装包太慢了,可以试试使用 nrm
方法一 - nrm由于 npm 默认回去国外下载资源, 所以对于国内开发者来说下载会比较慢所以就有人写了一个nrm工具,允许你将资源下载地址从国外切换到国内。
具体使用可以试试下面的命令
npm install -g nrm # 安装NRM
nrm --version #查看是否安装成功
npm ls # 查看允许切换的资源地址
npm use taobao #将下载地址切换到淘宝
使用方式直接使用 npm install 包名 即可。
方法二 - cnpmcnpm 就是将下载源从国外切换到国内下载, 只不过是将所有的指令从npm变为cnpm而已
npm install cnpm -g –registry=https://registry.npm.taobao.org # 安装CNPM
cnpm -v # 查看是否安装成功
使用方式同 npm, 例如:npm install jquery
变成cnpm install jquery
即可
其实除了 npm 外,Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 ����Ʈҡ,ҡҡ��Yarn 。
Yarn 是为了弥补 npm5.0之前 的一些缺陷而出现的,不过对于爬虫工程师来说,npm 已经完全够用了。
Love & Share
[ 完 ]