NodeJS模块
模块式开发贯穿着整个nodejs项目,那么,模块是什么?模块相当于一个最小的功能块,在nodejs项目中,一个js文件就为一个模块。
模块开发有何好处? 1.维护快稳准:随着项目的进行,代码量增大,导致了后期维护极其困难,而使用模块试开发,在后期出现问题时只需要找到相应的模块进行代码修改即可。2.可复用性高:同一项目不同页面同一功能可以复用模块;不同项目相同功能可以复用模块。
文件模块
由开发者自己编写的模块(如.js文件、npm安装到本地的包,包就是拥有一个或多个小模块组成的大模块)。
创建一个node-test
文件夹作为模块测试目录,并在node-test
文件夹下创建hello.js
与greet.js
,内容如下。
hello模块(hello.js)
1 |
function hello(name){ |
greet模块(greet.js)
1 |
var hello = require('./hello'); // 使用node提供的require方法,以相对路径将hello模块引入,引入时.js后缀可以省略 |
核心模块
nodejs 核心模块是指在安装完成node环境之后便产生的模块。
buffer模块
buffer 类用让 node.js 处理二进制数据。
console模块
console模块用于提供控制台的标准输出。
process模块
process模块是一个全局变量,提供了一些与操作系统相关的简单接口,用来操作或查看相关进程信息。
fs模块
fs模块用于操作node项目目录及文件。
stream模块
stream模块是一种抽象的数据结构,使文件具有流动性。
http模块
http模块用于搭建 http 服务端和客户端。
crypto模块
crypto模块提供了加密、解密、签名、验证等功能。
util模块
util模块提供常用函数的集合,用于弥补核心javascript 的功能 过于精简的不足。
os模块
os 模块提供了一些基本的系统操作函数。
path模块
path模块提供了一些用于处理文件路径的小工具。
url模块
url模块提供了url解析和分析工具。
zlib模块
zlib模块可以对文件、http请求和响应进行压缩与解压处理。
events模块
events 模块只提供了一个对象: events.eventemitter。eventemitter 的核心就是事件触发与事件监听器功能的封装。
net模块
net 模块提供了一些用于底层的网络通信的小工具,包含了创建服务器/客户端的方法.
dns模块
dns 模块用于解析域名。
domain模块
domain(域) 简化异步代码的异常处理,可以捕捉处理try catch无法捕捉的异常。