菜鸟学习nodejs--包(npm)管理

来源:互联网 发布:淘宝如何做推广活动 编辑:程序博客网 时间:2024/05/17 02:08

npm(Node Package Manager)node的包管理,包是什么,为什么要管理。
PM包含三部分:一个用来存放第三方包的代码库,一个管理本地已经安装包的机制,一个用来定义包依赖关系的标准。NPM提供了一个公共的注册服务,它包含了大家发布的所有包,并提供了一个命令行工具,用来下载,安装和管理这些包。你可以按照Node的包格式标准来制定你的包或者应用需要依赖的其他第三方包。
虽然不用了解NPM就可以开始使用Node,但是如果要用第三方包你就必须要学习它了,因为Node本身只提供了一些低层的API,使用第三方模块可以大幅减少开发复杂度,不用什么都得亲自编码。NPM允许你在一个沙箱里下载和使用模块,你可以尽情地试验你感兴趣的东西,而不用担心污染全局的包环境。
大家只要学过一些其他语言,那么就知道如java我们需要jar包,学过c#,我们就需要bll类库,我们学javascript的时候,还需要jquery的js文件,那么学习Node当然也是需要需要jar包的,以前我们学习java的时候,都是添加的工作路径,那么学习nodejs呢,必须要有啊,接下来我们就说一下怎么加。
Node.js社区在开源授权协议下发布了大多数模块,也就意味着模块可以自由安装,修改和发布。

安装npm

在上一篇博客我们已经安装过了Node.js,那么npm就已经安装好了,打开控制命令窗口(ctrl+L,输入CMD),输入npm,出现如下窗口:
npm
这些是一些帮组信息,大家现在只要知道能出现这些信息就表示我们的npm在我们安装的node.js的时候已经安装成功了。

安装模块

npm install [moudle_name]
这个命令就是从npm服务器发送请求,将某个模块的最新版本下载到计算机上,因为是从服务器上下载,所以我们输入该命令的时候必须是联网的。

使用

要在Node.js应用程序中使用模块,在下载他们之后必须请求(require)他们,例如我们再java中要引入包也是要improt,在c#中要using是一个道理。在应用程序中请求一个模块的方法如下:
var module = require(‘module’);
现在,当程序要运行的时候,他将在源文件中找库,并将其包含在程序中。但是他也是js文件,所以我们要用的时候,需要引入后赋予一个变量,用这个变量来使用。

实例

1.创建foo.js文件

创建foo.js文件,然后写入如下代码。

var _ = require('underscore'); _.each([1,2,3],function(num){    console.log("undersocre.js 说:我是第" + num + "个");  });

2.安装模块

安装模块可以分为本地安装和全局安装,根据词义我们就能理解,本地安装就是安装到当前目录,而全局安装就是安装一次,以后就都可以用了。

本地安装

在控制命令窗口执行

npm install underscore

如果我们的Node.js文件是foo.js,那么将会出现如下结构的的文件
foo.js
node_moudle
….module_name
这是我们最常见到的安装模块的方法

全局安装

当然还有一种就是全局安装,例如Express是在哪里都需要用到的一个web开发框架,那么我们再安装的时候就需要加上-g就可以了。

npm install -g express

全局安装意味这任何一个程序都能运用这个模块了。

3.运行程序

在命令窗口输入node foo.js,就能看到如下结果。
这里写图片描述

统一管理模块

在我们运行程序的时候,我们可能需要引入很多的模块,那么如果我们都写在一个程序里边,那维护的事情也是一个非常麻烦的,所以Node.js给我们了一个package.json的一个文件(这个文件需要自己创建,位置和我们的foo.js同一个文件夹下),用来管理我们的模块。

{    "name":"underscore-example",    "version":"0.0.1",    "dependencies":{        'underscore':'~1.2.1'    }}

小结

尽管我们刚刚开始学习Node.js,或者我们已经学习有一段时间了,但是我们为了我们程序以后的可维护性,模块的使用是必不可少的。尽管代码自己写最好,但是我们再可以站在巨人肩膀上的时候,为什么不呢。

0 0
原创粉丝点击