1.fs-系统模块
系统模块fs 文件操作(f:file 文件 ,s:system 系统,文件操作系统 )
//通过模块的名字fs对模块进行引用
const fs = require('fs');
readFile 读取文件
//fs.readFile(文件路径,文件编码,callback(err.doc))
fs.readFile('./01.helloworld.js', 'utf8', (err, doc) => {
// 如果文件读取出错err 是一个对象 包含错误信息
// 如果文件读取正确 err是 null
// doc 是文件读取的结果
console.log(err);
console.log(doc);
});
writeFile写入内容
fs.writeFile('./demo.txt', '即将要写入的内容', err => {
if (err != null) {
console.log(err);
return;
}
console.log('文件内容写入成功');
});
2.path-系统模块-get参数
不同操作系统路径分隔符不统一,
const path = require('path');
//path.join('路径','路径','路径');
//_ _ dirname 绝对路径
// 1) 要解析的url地址
// 2) 将查询参数解析成对象形式
let { query, pathname } = url.parse(req.url, true);
console.log(query.name);
console.log(query.age);
//query 获取到对象格式的数据 {}
//pathname 不含查询字符串的路径部分 eg: /index
3.queryString-post参数
处理POST请求
参数被放在请求体中,格式与get参数不同
const querystring = require('querystring');
//字符串:post接收参数时不会同时接收所有参数,接收到的参数是拼接组合成的
querystring.parse(字符串) //{username:'xiaoming',password:'123456'}
4.http-创建网站服务器
//引入系统模块http
const http = require('http');
// 创建网站服务器 --- xx对象就是网站服务器对象
const xx = http.createServer();
5.url-处理url地址 – GET请求
参数被放在浏览器地址栏中
const url = require('url');
url.parse(req.url,true).query //以对象格式获取数据
query //不含?的完整参数
pathname //不含查询字符串的路径部分
let{query,pathname} = url.parse(req.url,true);//解构
6.promisify-改造函数
改造Node中现有的异步API,让其返回promise对象,从而支持异步语法
const promisify = require('util').promisify;
//将读取文件改为异步
eg:const readFile = promisify (fs.readFile);