web学习笔记12-nodejs基础-核心模块

一、核心模块

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()
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值