一、背景
由于Node是一套轻内核的平台,虽然它提供了一系列的内置模块,但是不足以满足开发者的需求,于是乎出现了包(package)的概念;包与Node的核心模块类似,就是将一些预先设计好的功能或者说API封装到一个文件夹,提供给开发者使用。
在nodejs中加载包时格式:require('包名');
注意:node包的加载机制是先在系统核心(优先级最高)的模块中找,因此以后不要创建一些和现有的包重名的名;然后再到当前项目中的node_modules目录中找。
由于Node本身没有太多的功能性API,所以市面上涌现出大量的第三方人员开发出来的Package,包的生态圈一旦繁荣起来,就必须有工具去代替人脑或文档的方式来管理,因此便出现了NPM。
二、介绍
随着时间的发展,NPM出现了两层概念:
1.一层含义是Node的开放式模块登记和管理系统,亦可以说是一个生态圈,一个社区;
2.另一层含义是Node默认的模块管理器,是一个命令行下的软件,用来安装和管理Node模块。
官方链接:https://www.npmjs.com/
国内加速镜像:https://npm.taobao.org/
NPM不需要单独安装,默认在安装Node的时候,会连带着一起安装npm。但是,node附带的npm可能不是最新版本,最好在cmd中用下面的命令更新版本:
npm install npm -g
默认安装到当前系统Node所在目录下,由于之前我使用NVM的方式安装的Node所以需要重新配置NPM的全局目录。
(安装NVM的步骤请看:http://www.cnblogs.com/haoxl/p/5399192.html)
三、配置npm
1.首先在cmd中输入npm config ls命令,查看你的.npmrc文件所在的目录,如我的为C:Usersuser.npmrc,如果输入命令后没有显示.npmrc文件的目录,则仍然可以自己新建一个,建议建在C盘用户目录下,在window系统中一般不能创建以点开头的文件,不过可以在创建时名字写成.npmrc.即在文件名后再加个点,然后就创建成功了,且它自动把后面的点给去掉了。
2.在cmd下输入npm config set prefix 你npm所放的目录,回车后再打开.npmrc文件便发现里面自动加上了你刚才输入的地址,此时我把它安在了我之前的nvm所在目录下。cache是我手动添加的,为了方便以后下载已有的包时速度能快些,路径也是由自己定。npm可以去官网下载,也可以从我云盘下载:http://pan.baidu.com/s/1i4Br4FF
3.配置环境变量,新建用户变量NPM_HOME值为你的npm所存放的位置,此处我用NVM的变量名%NVM_HOME%来代替E:mynode vm,方便以后nvm路径变时不用再修改npm的配置。
此时npm就配置好了,测试一下吧。在你项目文件夹下右击-在此处打开命令窗口-npm init(会自动创建一个package.json文件,用来记录你项目所依赖的所有的包)-npm install jquery,此处我下载了jquery包用来测试,下载完后便自动生成了node_modules文件夹,且里面有你刚下载的jquery文件,如下截图
四、升级npm
使用npm升级各种插件非常方便,如npm update express,如果要升级的插件是全局安装的则加上-g即可:npm update -g express 但是如果想升级npm自身,则必须在nodejs安装目录下(下图)局部升级npm如:npm update npm 然后可以使用npm -v来查看安装后的版本号。或者直接重新下载个npm,即输入命令npm install npm