一、http
http模块主要用于创建http server服务,并且
- 支持更多特性
- 不缓冲请求和响应
- 处理流相关
createServer()函数用来创建一个HTTP服务器,并将 requestListener 作为 request 事件的监听函数。
const http= require("http");
const server = http.createServer();
server.on("request",(request,response)=>{...})
二、path
用于对路径地址路径进行处理,获取路径中的文件路径,后缀和文件名等
const path= require("path")
console.log(__dirname);
//返回文件路径中文件夹部分
console.log(path.dirname("J:\\2020\\07020\\03.js"))
//返回文件路径中文件部分
console.log(path.basename("J:\\2020\\07020\\03.js"))
//返回文件路径中文件的后缀名
console.log(path.extname("J:\\2020\\07020\\03.js"))
三、url
用于格式化地址路径,获取地址传参
const url = require('url');
let path = "http://www.baidu.com";
console.log(url.parse(path,true));
/*
Url {
protocol: 'http:',
slashes: true,
auth: null,
host: 'www.baidu.com',
port: null,
hostname: 'www.baidu.com',
hash: null,
search: null,
query: [Object: null prototype] {},
pathname: '/',
path: '/',
href: 'http://www.baidu.com/'
}
*/
四、querystring
用于对uname=zbc&upassword=123456格式的字符进行处理,类似JSON函数的处理
- parse解析字符串
- stringify把对象转换成字符串格式
const query = require("querystring");
let str = "uname=tom&upassword=123456";
let objstr = query.parse(str)
console.log(objstr);//{ uname: 'tom', upassword: '123456' }
console.log(query.stringify(objstr));//uname=tom&upassword=123456
五、fs
fs模块用于对系统文件及目录进行读写操作。
//写文件,如果没有当前文件,会创建文件
fs.writeFile("./data.json","123456","utf8",(err)=>{
console.log(err);
})
// 追加文件
fs.appendFile("./data.json","123456","utf8",(err)=>{
console.log(err);
})
//创建文件夹
fs.mkdir('creatdir', 0777, (err)=>{
console.log(err);
})
//读取文件夹
fs.readdir("./abc",(err,files)=>{
console.log(files);
})
//产看文件夹或详细信息
fs.stat("./01.js",(err,data)=>{
console.log(data)
console.log(data.isDirectory())//检查一个对象是否是文件夹
})
文件流
const fs = require("fs");
// 流的形式
//读文件流
const rs = fs.createReadStream("./abc.json");
//写入文件流
const ws = fs.createWriteStream("./def.json");
//数据传输,用事件监听
rs.on("abc",(chunk)=>{
console.log(chunk)
ws.write(chunk)
})
rs.on("end",()=>{
console.log("完成")
ws.end()
})