node.js常用模块
目录
- 1.path模块
- 1.1 normalize
- 1.2 join
- 1.3 resolve
- 1.4 extname
- 1.5 basename
- 1.6 dirname
- 1.7 parse
- 1.8 format
- 2.fs模块
- 2.1 readFile
- 2.2 writeFile
- 3.buffer
- 4.events
- 5.http模块
- 5.1 get请求
- 5.2 post请求
1.path模块
const path = require('path')
1.1 normalize
将字符串处理成路径
const nor = path.normalize('a/b/c///d\\\w')
console.log(nor)
// a\b\c\d\w
1.2 join
合并路径
const join = path.join('/wq/w', 'we///w')
console.log(join)
// \wq\w\we\w
1.3 resolve
将路径返回为绝对路径
const resolve = path.resolve('/s/sd')
console.log(resolve)
// D:\s\sd
1.4 extname
返回该路径下的文件名的后缀
const ext = path.extname('/a/s/c.txt')
console.log(ext)
// .txt
1.5 basename
返回该路径下的文件名
const basename = path.basename('/a/s/c.txt')
console.log(basename)
// c.txt
1.6 dirname
返回当前目录
const dir = path.dirname('/a/s/c.txt')
console.log(dir)
// /a/s
1.7 parse
将路径进行解析
- root
- dir
- base
- ext
- name
const par = path.parse('/a/s/c.txt')
console.log(par)
// { root: '/', dir: '/a/s', base: 'c.txt', ext: '.txt', name: 'c' }
1.8 format
与parse相反,将对象解析成路径
const format = path.format({ root: '/', dir: '/a/s', base: 'c.txt', ext: '.txt', name: 'c' })
console.log(format)
// /a/s\c.txt
2.fs模块
const fs = require('fs')
2.1 readFile
文件读取
fs.readFile('./a.txt', (err, data) => {if (err) {return console.error(err)}console.log(data.toString())
})
2.2 writeFile
文件写入,不管写入成功还是写入失败都会执行后面的回调函数
fs.writeFile('./a.txt', 'asdasd', (err) => {if (err) {return console.error(err)}console.log('写入成功')
})
3.buffer
- buffer用来处理二进制数据流
- buffer实例类似数组,大小是固定的
- buffer是使用c++代码在v8堆外分配的物理内存
- buffer是一个全局变量
const { Buffer } = require('buffer');// 创建长度为 10 的以零填充的缓冲区。
const buf1 = Buffer.alloc(10);// 创建长度为 10 的缓冲区,
// 使用值为 `1` 的字节填充。
const buf2 = Buffer.alloc(10, 1);// 创建长度为 10 的未初始化的缓冲区。
// 这比调用 Buffer.alloc() 快,
// 但返回的缓冲区实例可能包含旧数据,
// 需要使用 fill()、write() 、
// 或其他填充缓冲区内容的函数重写。
const buf3 = Buffer.allocUnsafe(10);// 创建包含字节 [1, 2, 3] 的缓冲区。
const buf4 = Buffer.from([1, 2, 3]);// 创建包含字节 [1, 1, 1, 1] 的缓冲区,
// 所有条目都使用 `(value & 255)` 截断以符合范围 0–255。
const buf5 = Buffer.from([257, 257.5, -255, '1']);// 创建包含字符串 'tést' 的 UTF-8 编码字节的缓冲区:
// [0x74, 0xc3, 0xa9, 0x73, 0x74](十六进制)
// [116, 195, 169, 115, 116](十进制)
const buf6 = Buffer.from('tést');// 创建包含 Latin-1 字节 [0x74, 0xe9, 0x73, 0x74] 的缓冲区。
const buf7 = Buffer.from('tést', 'latin1');
常用类:
http://nodejs.cn/api/buffer.html#buffer_class_buffer
4.events
事件触发器
const EventEmitter = require('events')class CustEvent extends EventEmitter {}const ce = new CustEvent()
添加一个事件
ce.on('test', () => {console.log('this is a test')
})
执行该事件
ce.emit('test')
移除该事件
ce.removeAllListener('test')
5.http模块
http模块可搭建web服务器
const http = require('http')const app = http.createServer((req, res) => {res.write('1111')res.end()
})app.listen(3000, () => {console.log('服务器已启动')
})
5.1 get请求
const http = require('http')
const url = require('url')const app = http.createServer((req, res) => {// 解析请求路径// 如果parse第二个参数不穿true则不解析成对象console.log(url.parse(req.url, true))res.end()
})app.listen(3000, () => {console.log('服务器已启动')
})
当请求路径为
http://localhost:3000/sta/a?id=1&username=tyh
解析后:
Url {protocol: null,slashes: null,auth: null,host: null,port: null,hostname: null,hash: null,search: '?id=1&username=tyh',query: [Object: null prototype] { id: '1', username: 'tyh' },pathname: '/sta/a',path: '/sta/a?id=1&username=tyh',href: '/sta/a?id=1&username=tyh'
}
5.2 post请求
const http = require('http')
// const url = require('url')
const querystring = require('querystring')const app = http.createServer((req, res) => {const path = req.urlconsole.log(path)// console.log(url.parse(req.url, true))if (path === '/reg') {let body = ''req.on('data', (chunk) => {body += chunkconsole.log(body)})req.on('end', () => {body = querystring.parse(body)console.log(body)})}res.end()
})app.listen(3000, () => {console.log('服务器已启动')
})
node.js常用模块相关推荐
- Node.js 工具模块
在 Node.js 模块库中有很多好用的模块.接下来我们为大家介绍几种常用模块的使用: 序号 模块名 & 描述 1 OS 模块 提供基本的系统操作函数. 2 Path 模块 提供了处理和转换文 ...
- Node.js:模块查找,引用及缓存机制
1. Node.js的模块载入方式与机制 Node.js中模块可以通过文件路径或名字获取模块的引用.模块的引用会映射到一个js文件路径,除非它是一个Node内置模块.Node的内置模块公开了一些常用的 ...
- Node.js文件系统模块——读写文件操作
文章目录 前言 一.导入fs模块 1.readFile() && readFileSync() 2.writeFile() && writeFileSync() 3.a ...
- JavaScript之后端Web服务器开发Node.JS基本模块学习篇
JavaScript之后端Web服务器开发Node.JS基本模块学习篇 基本模块 fs文件系统模块 stream支持流模块 http crypto加密模块 基本模块 因为Node.js是运行在服务区端 ...
- node.js中模块_在Node.js中需要模块:您需要知道的一切
node.js中模块 by Samer Buna 通过Samer Buna 在Node.js中需要模块:您需要知道的一切 (Requiring modules in Node.js: Everythi ...
- Node.js中模块加载机制
Node.js中模块加载机制 模块查找规则-当模块拥有路径但没有后缀时 1. require方法根据模块路径查找模块,如果是完整路径,直接引入模块. 2. 如果模块后缀省略,先找同名JS文件再找同名J ...
- Node.js Web 模块
Node.js Web 模块 什么是 Web 服务器? Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务.它只需支持HTTP协议. ...
- Node.js Domain 模块
Node.js 工具模块 Node.js Domain(域) 简化异步代码的异常处理,可以捕捉处理try catch无法捕捉的异常.引入 Domain 模块 语法格式如下: var domain = ...
- Node.js DNS 模块
Node.js 工具模块 Node.js DNS 模块用于解析域名.引入 DNS 模块语法格式如下: var dns = require("dns") 方法 序号 方法 & ...
最新文章
- 使用主机ip地址绑定GooglAppEngine站点
- 使用深度置信网络进行特征提取代码实现 python_2019必学的10大顶级Python库
- python有什么用处案例_为什么大家都推荐你学python?看完这5个例子就明白了!...
- SDNU 1045.石子合并1(区间dp)
- jQuery就业课系列之.jQueryDOM
- php 什么时候销毁对象,什么决定什么时候在PHP中销毁类对象?
- 普通公司员工的编程水平与阿里巴巴有多大差距?
- 利用 Win32 启动和检测 UWP App 的方法
- commit git 删除文件夹_Git-git删除文件夹/文件(删除/不删除本地文件/文件夹)
- nhibernate源码分析之六: Criteria数据加载
- python自动化办公(五)实现将读取的excel数据写到word指定的地方:示例(劳动合同)
- Eviews创建散点图的具体方法
- SP3485,MAX485
- 2021固态硬盘排行前十 十大固态硬盘排名
- echarts饼图制作
- 计算机毕业设计源码分享双鱼林,双鱼林SSM图书信息管理系统毕业课程设计源码 - WEB源码|源代码 - 源码中国...
- 网易考拉海购:电商高并发架构设计的铁律
- USACO Section 1.2 Broken Necklace
- 计算机科学与技术寒假社会实践,计算机科学与技术专业寒假社会实践报告.doc...
- pta 7-7 哪两个点之间的距离最近