Node.js模块与npm item2—NPM使用

NPM使用


Node Packaged Modules 简称NPM,是Node.js的包管理器。Node本身提供了一些基本API模块,但是这些基本模块难以满足开发者需求。Node需要通过使用NPM来管理开发者自我研发的一些模块,并使其能够共用与其他开发者。简单来说,NPM就是Node.js的包管理器。

NPM(node package manager)

NPM使用场景

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
    由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 npm -v来测试是否成功安装。命令如下,出现版本提示表示安装成功:
$ npm -version
2.15.8

升级更新NPM

$ sudo npm install npm -g

使用NPM安装模块

有一个简单安装任何Node.js模块,语法如下:

$ npm install <Module Name>

例如,下面是安装一个著名的Node.jsweb框架模块的命令叫 express:

$ npm install express

现在,你可以在js文件中使用此模块如下:

var express = require('express');

全局安装VS本地安装

  • 本地安装 默认情况下,NPM安装指定包默认会安装到本地。本地安装指的是包安装在当前目录中node_modules文件夹中。本地安装的包都可以通过require()方法进行访问。例如我们安装Express模块:
$ npm install express

列出所有本地安装的模块

$ npm ls
  • 全局安装 全局安装包都存储在系统目录中。我们可以在nodejs的CLI(命令行界面)使用,但是不能直接使用require()方法进行访问。例如安装http-server包:
//全局安装 -g
$ npm install -g http-server
//使用node CLI  
$ http-server

卸载模块

使用下面的命令卸载Node.js模块

npm uninstall express

更新模块

更加package.json并更新

npm update express

搜索模块

搜索使用NPM包名

npm search express

下载三方包

NPM建立了一个NodeJS生态圈,NodeJS开发者和用户可以在里边互通有无。

当你需要下载第三方包时,首先要知道有哪些包可用。npmjs.com提供了可以根据包名来搜索的平台,但是如果不知道包名可以百度一下。知道了包名后,就可以使用命令去安装了,例如:Express

npm install express

下载完成之后,express包就放在了工程目录下的node_modules目录中,在代码中只需要通过reuqire(‘express’)的方式去引用,无需指定包路径。
以上命令默认下载最新版本第三方包,如果要下载指定版本,可以在包名后面追加@,例如通过如下命令可以下载0.0.1版本的express。

npm install express@0.0.1

如果使用到的第三方包比较多,在终端下一个包一条命令的安装非常不方便,因此NPM对package.json的字段做了扩展,允许在其中添加三方包依赖。

{
    "name":"test",
    "main":"./lib/main.js",
    "dependencies":{
        "http-server":"3.2.1"
    }
}

这样处理后,在工程目录下就可以使用npm install命令批量安装三包了。最重要的是,当以后吧test项目上传到了NPM服务器,别人下载这个包时,NPM会根据包中声明的三方依赖包进行自动下载依赖。这样用户只需要关心要使用的包,不用管其依赖的三方包。

给NPM服务器发布自己的包

第一次使用NPM发布自己的包需要在npmjs.com注册一个账号

几个npm的常用命令

npm -v          #显示版本,检查npm 是否正确安装。

npm install express   #安装express模块

npm install -g express  #全局安装express模块

npm list         #列出已安装模块

npm show express     #显示模块详情

npm update        #升级当前目录下的项目的所有模块

npm update express    #升级当前目录下的项目的指定模块

npm update -g express  #升级全局安装的express模块

npm uninstall express  #删除指定的模块

猜你喜欢

转载自blog.csdn.net/hzzyli/article/details/54617985