一、核心模块
1,文件系统模块API-file system
用于项目中文件的操作,例如:数据的导入、导出
文件分为两种形式:目录形式、文件形式
1.1 查看文件状态-statSyn,stat
// 1,查看文件状态,可以获取到文件的相关信息
// 同步执行方案,会阻塞后面的代码
var s =fs.statSync('../day10code')
// console.log(fs.statSync('homework.html'))
// 是否为文件形式
console.log(s.isFile())
// 是否为目录
console.log(s.isDirectory())
// 目录大小是0
console.log(s)
//异步执行方案,把结果放入到回调函数中
fs.stat('homework.html',(err,r)=>{ //err可能产生的错误结果,r成功的结果
console.log('异步查看文件状态')
if(err){
throw err
}
console
})
console.log('结束')
1.2 清空写入文件-writeFileSync、writeFile
注意
如果文件不存在则创建文件再写入
如果文件存在,则清空文件内容,然后再写入内容
// 2.清空写入文件,如果文件不存在则创建文件再写入
// 同步方案
fs.writeFileSync('1.txt','abcd')
// 异步方案 异步写入成功是没有值的
fs.writeFile('2.txt','abc',(err)=>{
if(err){
throw err
}
console.log('文件写入成功')
})
1.3 追加写入-appendFileSync、appendFile
追加写入:在文档后面继续写入内容,不清除已有内容
// 3.写入文件,如果文件不存在则创建文件再写入
// 同步方案
fs.appendFileSync('1.txt','abcd')
// 异步方案 异步写入成功是没有值的
fs.appendFile('2.txt','abc',(err)=>{
if(err){
throw err
}
console.log('文件写入成功')
})
1.4 读取文件-readFileSync、readFile
读取的格式为Buffer
//4 读取文件
//同步方案
var data = fs.readFileSync('1.txt')
console.log(data.toString())//转字符串
//异步方案
fs.readFile('2.txt',(err,r)=>{
if(err){
throw err
}
console.log(r.toString())
})
1.5 删除文件-unlinkSync、unlink
//5 删除文件
// 同步
fs.unlinkSync('1.txt')
console.log('删除成功')
//异步
fs.unlink('2.txt',(err)=>{
if(err){
throw err
}
})
console.log('删除成功')
1.6 检测文件是否存在-existsSync
fs.existsSync('1.txt')
1.7 文件流
// 引入模块
const fs = require('fs')
// 以流的方式读取文件,将一个文件分成多段
var rs = fs.createReadStream('01.png')
// 绑定事件,监听是否有数据流入到内存
// 参数1,字符串是固定
// 查看数据流的每一段数据
rs.on('data',(c)=>{
console.log('有数据流入')
console.log(c)
})
// 以流的方式 拷贝文件
var ws = fs.createWriteStream('02.png')
// 把读取的流,通过管道添加到写入的流
rs.pipe(ws)
1.8 拓展-后端事件监听
on (‘事件名称’,回调函数) 一旦监听到触发事件,会自动调用回调函数,事件名称是固定的字符串
2,HTTP协议
HTTP:超文本传输协议,是客户端与web服务器之间的通信协议
web服务器:为客户端提供资源的服务器,例如:html,css,图片,数据
2.1 通用头信息
request URL:请求资源的完整路径
request method :对请求资源的操作方式(get,post)
satus code:状态码(
100系列:服务器收到部分请求,继续发送请求;
200系列:成功的响应;
300系列:响应重定向,跳转到另一个资源;
400系列:客户端错误;
500系列:服务端错误)
2.2 响应头信息-response
location:设置要跳转的URL,通常配合状态码302使用
content type:设置响应的内容类型,可以解决中文乱码(charset=utf-8)
2.3 请求头信息-requset
3,HTTP模块
1)引入HTTP模块
const http = require('http')
2)创建web服务器
const app = http.createServer()
3)设置端口
app.listen(3000, () => {
console.log('服务器启动成功')
})
4)监听响应内容
//通过事件监听客户端的请求
app.on('request',(req,res)=>{
// console.log('有一个请求进入')
//req表示请求的对象
//res表示响
// 设置响应的状态码
res.statusCode = 404
//设置响应头信息中,内容类型为utf-8
res.setHeader('Content-Type','text/html;charset=utf-8')
//设置响应的内容
res.write('欢迎来到web前端')
//结束响应
res.end()
})