菜鸟学习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在我们安装的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,或者我们已经学习有一段时间了,但是我们为了我们程序以后的可维护性,模块的使用是必不可少的。尽管代码自己写最好,但是我们再可以站在巨人肩膀上的时候,为什么不呢。
- 菜鸟学习nodejs--包(npm)管理
- NPM--nodejs包管理
- (5)nodejs学习---npm包管理器
- Nodejs学习 3 -- module模块系统与npm包管理
- 【学习笔记】nodejs之包管理npm/yarn
- nodejs npm包管理常用命令介绍
- Nodejs学习item 3 -- module模块系统与npm包管理
- nodejs包管理器npm
- 【NODEJS】nodejs之npm管理
- NodeJS学习(三) npm打包
- nodeJs的包管理工具npm
- Nodejs 模块 与 npm 包管理工具(笔记1)
- 菜鸟学习nodejs--安装nodejs
- 菜鸟学习NodeJS笔记(一)
- 菜鸟学习NodeJS笔记(二)
- 菜鸟学习NodeJS笔记(一)
- 使用npm制作nodejs模块包
- 使用npm制作nodejs模块包
- Java多线程中的interrupt方法的使用
- c++实现简单矩阵类Mat
- 八大排序算法总结
- 内存-文件映射应注意的问题
- 易语言学习第十四课
- 菜鸟学习nodejs--包(npm)管理
- Linux下触摸屏驱动程序分析
- (一般)POJ-1129 染色,DFS技巧
- Android-ViewPager滑动导航
- Java程序猿成神之路
- python format()方法
- 关于unity中的update、Lateupdate和FixedUpdate
- unity3d 三分钟实现简单的赛车漂移
- 关于关闭PHP中NOTICE的方法,我的是wamp server2.5