Node.js内置模块

简介: Node.js内置模块

1. http模块

用来搭建本地服务器

const http = require('http'), 
http.createServer创建一个服务。

2. fs文件系统模块

赋予node读取本地文件的能力

const fs = require('fs');
fs.writeFile(path, fileData, cb) // 写入文件
fs.readFile(path, cb) // 读取文件

3. path路径模块

用来处理路径相关

const path = require('path')
let str = '/c/dir/index.html'
console.log(path.dirname(str))
path.resolve() // 路径解析,用来拼合路径,返回一个绝对路径

4. ur模块

用来处理网址相关,或者用来获取地址路径或参数

const url = require('url')
let site = 'http://www.a.cn/a/b/index.html?a=1&b=2'
let {pathname, query} = url.parse(site, true) //解析网址 true就是将参数解析为对象
console.log(pathname, query)
// '/a/b/index.html' {a: '1', n: '2'}

5. querystring 查询字符串模块

主要用来将参数拼接字符串解析为对象

const queryString = require('querystring')
let str = 'a=1&b=2&c=3'
let obj = queryString.parse(str)
console.log(obj, obj.a) //{a:'1',b:'2',c:'3'}, '1' 
let o = queryString.stringify(obj)
console.log(0) // 'a=1&b=2&c=3'

6. assert 断言

判断条件是正确,如果正确则继续执行,如果错误则抛出异常

const assert = require('assert')
// assert.deepEqual(变量,预期值,错误信息)   变量 == 预期值
// assert.deepStrictEqual(变量,预期值,错误信息)  变量 === 预期值
// 同样也是错误的时候抛出信息,正确的时候继续默默执行
const obj = {a: {b: 1}}
const obj1 = {a: {b: 1}}
assert.deepEqual(obj, obj1, '不等') // true

7. stream 流

以工作流的模式,读取文件,使得文件的读取跟水流一样。一边读取一边使用。合理分配内存,避免内存爆掉的风险

const fs = require('fs')
// 读取流:fs.createReadStream();
// 写入流:fs.createWriteStream();
let rs = fs.createReadStream(a.txt)     // 读取的文件
let ws = fs.createWriteStream(a2.txt)   // 写入的文件
rs.pipe(ws) // pipe将rs 和 ws 连接起来,使得读取流的数据传输到输出流
rs.on('error', err => {
console.log(err);
});
ws.on('finish', () => {
console.log('成功');
})

8. zlib压缩

用来将文件压缩

const fs = require('fs')
const zlib = require('zlib')
let rs = fs.createReadStream('a.jpg')
let gz = zlib.createGzip()
let ws = fs.createWriteStream('a.jpg.gz')
rs.pipe(gz).pipe(ws) // 原始文件 => 压缩 => 写入
rs.on('error', err => {
console.log(err);
});
ws.on('finish', () => {
console.log('成功');
})
相关文章
|
3天前
|
JavaScript 前端开发
基于 Node.js 环境,使用内置 http 模块,创建 Web 服务程序
基于 Node.js 环境,使用内置 http 模块,创建 Web 服务程序
|
3天前
|
JavaScript 前端开发
node.js中path模块-路径处理,语法讲解
node.js中path模块-路径处理,语法讲解
|
3天前
|
JavaScript 前端开发
node.js中的fs模块,读写语法讲解
node.js中的fs模块,读写语法讲解
|
18天前
|
JavaScript 前端开发 测试技术
编写JavaScript模块化代码主要涉及将代码分割成不同的文件或模块,每个模块负责处理特定的功能或任务
【5月更文挑战第10天】编写JavaScript模块化代码最佳实践:使用ES6模块或CommonJS(Node.js),组织逻辑相关模块,避免全局变量,封装细节。利用命名空间和目录结构,借助Webpack处理浏览器环境的模块。编写文档和注释,编写单元测试以确保代码质量。通过这些方法提升代码的可读性和可维护性。
22 3
|
18天前
|
消息中间件 监控 JavaScript
Node.js中的进程管理:child_process模块与进程管理
【4月更文挑战第30天】Node.js的`child_process`模块用于创建子进程,支持执行系统命令、运行脚本和进程间通信。主要方法包括:`exec`(执行命令,适合简单任务)、`execFile`(安全执行文件)、`spawn`(实时通信,处理大量数据)和`fork`(创建Node.js子进程,支持IPC)。有效的进程管理策略涉及限制并发进程、处理错误和退出事件、使用流通信、谨慎使用IPC以及监控和日志记录,以确保应用的稳定性和性能。
|
18天前
|
缓存 JavaScript 前端开发
Node.js的模块系统:CommonJS模块系统的使用
【4月更文挑战第29天】Node.js采用CommonJS作为模块系统,每个文件视为独立模块,通过`module.exports`导出和`require`引入实现依赖。模块有独立作用域,保证封装性,防止命名冲突。引入的模块会被缓存,提高加载效率并确保一致性。利用CommonJS,开发者能编写更模块化、可维护的代码。
|
18天前
|
JavaScript API
node.js之模块系统
node.js之模块系统
|
18天前
|
Web App开发 JavaScript 前端开发
【Node系列】node核心模块util
Node.js的核心模块util为开发者提供了一些常用的实用工具函数。这些函数能够很方便地进行对象的继承、类型判断以及其他工具函数的实现。
24 2
|
18天前
|
域名解析 网络协议 JavaScript
【Node系列】node工具模块
Node.js有多个内置的工具模块,这些模块提供了用于执行各种任务的功能。
28 2
|
18天前
|
缓存 并行计算 JavaScript
【Node系列】模块系统
Node.js 的模块系统是其核心特性之一,允许开发者编写可复用的代码,并通过简单的导入和导出机制来共享和使用这些模块。
22 3