Node.js NPM 包管理器

NPM(NodePackage Manager ,Node包管理器)Node.js的包管理器,它允许开发人员在Node.js中创建,共享并重用模块。它也可以用于共享完整的Node.js应用程序,

模块就是可以在不同项目中可以重用的代码库。NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

典型的模块示例包括:

1、用于数据库交互的库

2、验证数据输入的库

3、分析yaml文件的库

1NPM包的安装

如果根据上一节的内容,是在http://nodejs.cn/下载地址安装的,系统已经默认安装好了,因为它目前已经集成在Node的安装包中,如果有没有安装好的用户,

可以直接去官方网站下载安装,这里就不在介绍。如下截图是安装好了Node以后,系统提示你已经安装了NPM包。

另外我们可以输入npm -v 来查看nmp包管理器的版本

2、使用NPM管理器安装模块

如果我们的代码中有调用一些外部模块,此时我们就需要安装模块,当然安装这些模块最好的方式就是用NPM包管理器来安装,这里要注意这个是联网安装,

所以一定要在有网络的环境下进行。安装的方式是在终端中输入如下命令:

npminstall <Module Name>

<span style="color:#333333;">npm install <Module Name></span>

<ModuleName>代表的模块名字。比如你需要安装express模块,就可以输入

npminstall express

<span style="color:#333333;">npm install express</span>

安装完成接入如下:

安装好之后,express 包就放在了工程目录下的node_modules目录中,这里指同一个目录,因此在代码中只需要通过require('express') 的方式就好,无需指定第三方包路径。调用方式如下:

var express = require('express');

<span style="color:#333333;">var express = require('express');</span>

这里的路径要特别注意,按照刚才的安装路径,系统会在C:\Users\A1040687生成一个node_modules文件夹,里面就是我们安装的模块。

如果我将当前路径切换到D盘,那么模块会安装到D盘下,并且产生一个node_modules目录,里面存放我们安装的模块名字。

切换到D盘,并且安装express模块,此时会模块会安装到D盘下,如截图所示。

根据上面的截图,我们可以看出模块的版本,模块的名称,以及下载的位置。

全局安装与本地安装

上面的安装,我们就是采用的本地安装,npm的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如:

npminstall express #本地安装

npminstall express -g #全局安装

<span style="color:#333333;">npm install express          # </span><span style="color:#333333;">本地安装</span>
npm install express -g   # 全局安装

如果出现以下错误:

npm err!Error: connect ECONNREFUSED 127.0.0.1:8087

<span style="color:#333333;">npm err! Error: connect ECONNREFUSED 127.0.0.1:8087 </span>


解决办法为:

npmconfig set proxy null

<span style="color:#333333;"> npm config set proxy null</span>

这个地方很多人会因为代理上网的方式无法安装,所以建议采用直通的方式安装模块。

本地安装

  • 1. 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
  • 2. 可以通过 require() 来引入本地安装的包。

全局安装

  • 1. 将安装包放在 /usr/local 下。
  • 2. 可以直接在命令行里使用。
  • 3. 不能通过 require() 来引入本地安装的包。

全局安装express 模块,此时安装在了C:\Users\A1040687\AppData\Roaming\npm\node_modules路径下,并不会安装在D盘下。

另外我们可以通过如下命令,查看全局安装的模块:

npm ls -g

<span style="color:#333333;">npm ls -g</span>

模块的卸载,我们可以通过如下命令进行卸载:

npmuninstall express -g #卸载全局模块

npmuninstall express #卸载本地模块

<span style="color:#333333;">npm uninstall express -g   #</span><span style="color:#333333;">卸载全局模块</span>
npm uninstall express      #卸载本地模块

如下截图:

卸载后,我们可以到 /node_modules/目录下查看包是否还存在,或者使用以下命令查看

npm ls

<span style="color:#333333;">npm ls</span>

模块的更新:

npmupdate express

<span style="color:#333333;">npm update express</span>

模块的搜索,

npmsearch express

<span style="color:#333333;">npm search express</span>

注意在第一次搜索的时候可能会花费较长的时间来创建索引。这样搜索的不仅仅是模块名,还有模块的描述,另外还可以使用空格隔开关键字的方法跨关键字搜索,比如:

npmsearch express accepts

<span style="color:#333333;">npm search express accepts</span>

 

NPM 常用命令

除了可以在npmjs.org/doc/查看官方文档外,这里再介绍一些NPM常用命令。

NPM提供了很多命令,例如installpublish,使用npm help可查看所有命令。

·       NPM提供了很多命令,例如installpublish,使用npm help可查看所有命令。

·       使用npm help <command>可查看某条命令的详细帮助,例如npm help install

·       package.json所在目录下使用npm install . -g可先在本地安装当前命令行程序,可用于发布前的本地测试。

·       使用npm update <package>可以把当前目录下node_modules子目录里边的对应模块更新至最新版本。

·       使用npm update <package> -g可以把全局安装的对应命令行程序更新至最新版。

·       使用npm cache clear可以清空NPM本地缓存,用于对付使用相同版本号发布新版本代码的人。

·       使用npm unpublish <package>@<version>可以撤销发布自己发布过的某个版本代码。

  • 使用npm docs <module_name> 查看模块文档。
  • 使用npm bugs <module_name>查看项目Bugs。

 

使用模块小试牛刀:

要在Node.js应用中使用模块,在下载它们之后必须请求(require)它们,在应用程序中请求一个模块的方法如下:

var _=require('module_name');

<span style="color:#333333;">var _=require('module_name');</span>

现在,当运行应用程序的时候,它将在原文件中找到库并将其包含在应用程序中,通常要我们使用这个模块,所以我们将其赋予一个变量。

1、使用文本编辑器,在里面输入:

var _=require('underscore');

_.each([1,2,3],function(num){

console.log("underscore.js says"+num);

});

<span style="color:#333333;">var _=require('underscore');</span>
_.each([1,2,3],function(num){
  console.log("underscore.js says"+num);
});

然后将文本保存为foo.js

2、使用终端安装underscore模块:

npminstall underscore

<span style="color:#333333;">npm install underscore</span><span style="color:#333333;">
3</span><span style="color:#333333;">、从终端运行程序:</span>

nodefoo.js

<span style="color:#333333;">node foo.js</span>

输出截图的信息,该程序underscore模块数到3,代表运行成功,在运行的时候,一定要注意路径,node_modulesfoo.js一定要在同一个目录下,不然会运行失败。

我的路径:

最后,在开发Node.js应用程序的时候,毫无疑问要使用模块,一个一个安装模块会是个耗时的工作,而且容易出错,比如要是忘记安装某个模块该怎么办呢?不用担心,npm允许开发人员使用package.json文件来指定应用程序中要使用的模块,使用它有如下好处:

1、无需一个一个安装模块

2、其他人员可以很容易的安装你应用程序的模块

3、应用程序的依赖关系存储在一个地方

关于这个的具体用法,我会在后面的文章中进一步介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值