什么是NPM
Node Package Manger,直译为node包资源管理器。
它的使用场景有:
- 允许用户从NPM服务器下载的第三方包到本地使用(通过package.json配置文件引入依赖)。
- 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
等等,是不是有种强烈的熟悉感?!
没错,npm就是前端的Maven。
NPM的安装
现在的node.js已经集成了npm工具,所以无需另行安装。
通过下面的命令可检查npm版本号:
npm -v
初始化工程
npm init
npm inti -y
输入该命令回车后,会提示我们输入这些信息:
name项目名称、version项目版本号、description项目描述…等暂时无关紧要的信息,一路回车即可;
比较重要的是main字段,在这里需要指定该项目的主入口文件(一般叫index.js,在这个文件中引入所有其他文件)。
初始化结束后,自动生成一个极其重要的文件:package.json。
该文件中记录着上面所说的项目基本信息,并且在其内部可引入依赖——没错,和Maven一样,
安装模块
通过npm安装模块(或者叫包)是极其方便的,只需要短短一行命令:
npm install xxx # 本地安装
npm install xxx -g # 全局安装
关于本地安装(local)
(1)会安装到 当前目录/node_modules
下,如果没有 node_modules 目录也会自动生成(node_modules里放的就是各种已安装的包)
(2)代码中通过 require() 来引入本地安装的包
关于全局安装(global)
(1)一般会安装到 /usr/local
下,通过 npm root -g 可查看该路径
(2)可以直接在命令行里使用
批量下载模块
npm install
再复习一遍,package.json中放的是依赖信息(等同pom.xml),node_modules中放的是真正已安装的包;
如果已经有package.json文件,但没有node_modules文件,则执行上面的命令进行自动下载.
其他好用的命令
# 卸载模块
npm uninstall xxx
# 更新模块
npm update xxx
# 列出node_modules下的所有模块
npm ls
切换镜像
老生常谈的包下载速度问题。通过切换 淘宝镜像 来解决。
方法一:使用nrm切换镜像
npm install nrm -g
nrm use taobao
npm install xxx
方法二:直接使用cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install xxx
一般推荐我们让npm命令保持原生镜像的状态,不去切换;如果像使用淘宝镜像,直接使用cnpm替代npm即可。
JS Saikou!!!