欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

NodeJS模块

程序员文章站 2022-04-15 15:12:35
惠善一的博客:https://huishanyi.club  模块式开发贯穿着整个NodeJS项目,那么,模块是什么?模块相当于一个最小的功能块,在NodeJS项目中,一个JS文件就为一个模块。   模块开发有何好处? 1.维护快稳准:随着项目的进行,代码量增大,导致了后期维护极其困难,而使用模... ......
惠善一的博客:https://huishanyi.club
 

 模块式开发贯穿着整个nodejs项目,那么,模块是什么?模块相当于一个最小的功能块,在nodejs项目中,一个js文件就为一个模块。
  模块开发有何好处? 1.维护快稳准:随着项目的进行,代码量增大,导致了后期维护极其困难,而使用模块试开发,在后期出现问题时只需要找到相应的模块进行代码修改即可。2.可复用性高:同一项目不同页面同一功能可以复用模块;不同项目相同功能可以复用模块。

文件模块

由开发者自己编写的模块(如.js文件、npm安装到本地的包,包就是拥有一个或多个小模块组成的大模块)。

  创建一个node-test文件夹作为模块测试目录,并在node-test文件夹下创建hello.jsgreet.js,内容如下。

hello模块(hello.js)

1
2
3
4
5
function hello(name){
console.log(`hello ${name} !`) // es6 & es5字符串拼接。console.log('hello '+name+' !')
}

module.exports = hello // 模块.暴露 = hello,module.exports将本模块内容暴露出去,使其他模块可以发现它并且调用它。exports.hello = hello也可以达到同样的效果,只不过它不可以像module.exports一样暴露对象,例如module.exports = {k1: v1, k2: v2}。

greet模块(greet.js)

1
2
3
var hello = require('./hello'); // 使用node提供的require方法,以相对路径将hello模块引入,引入时.js后缀可以省略

hello('world'); // 控制台输出hello world !

核心模块

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无法捕捉的异常。