目录
一.同步和异步
- 同步执行:在主程序执行,会阻止主程序后续代码执行
- 异步执行:将回调函数放入到事件队列中,不会阻止主程序后续代码的执行
- 同步API和异步API
- 同步API:在主程序执行,会阻止主程序后续代码执行,通过返回值获取结果
- 异步API:在一个独立的线程执行,不会阻止主程序后续代码执行,通过回调函数来获取结果,最后是将回调函数放入到事件队列中
二.文件系统模块(fs)
用于操作服务器端的文件、文件分为目录形式和文件形式、不属于全局模块,需要先引入,才能调用API
- 查看文件的状态
- statSync(文件的路径)
- stat( 文件的路径, 回调函数 )
- isFile() 是否为文件
- isDirectory() 是否为目录
-
同步执行 var s = fs.statSync('./node_modules') console.log(s) console.log(s.isFile()) console.log(s.isDirectory())
-
异步执行,有回调函数 var s = fs.stat('./01_1.js',(err,s)=>{ if(err){ throw err } console.log(s) console.log( s.isFile()) console.log( s.isDirectory()) })
-
- 清空写入文件
- writeFileSync(文件的路径, 写入的数据)
- writeFile(文件的路径, 写入的数据, 回调函数)
- 如果文件不存在,先创建文件然后写入数据如果文件已经存在,先清空文件中的内容然后写入数据
- 追加写入文件
- appendFileSync(文件的路径, 写入的数据)
- appendFile(文件的路径, 写入的数据, 回调函数)
- 如果文件不存在,先创建文件然后写入数据如果文件已经存在,会在文件的末尾追加写入数据
- 读取文件
- readFileSync(文件的路径)
- readFile(文件的路径, 回调函数)
- 读取的结果是buffer格式数据本身为字符串模式的可以转为字符串toString
- 删除文件
- unlinkSync(文件的路径)
- unlink(文件的路径, 回调函数)
- 检测文件是否存在
- existsSync(文件的路径)
- 文件流
- createReadStream() 以流的方式读取文件,内部分成多段
- on(事件名称, 回调函数) 添加事件,监听某个动作,一旦监听到会自动调用回调函数,是异步的
三.http协议
- 超文本传输协议,是客户端和WEB服务器之间的通信协议
- WEB服务器:为前端提供所需要的资源
- 通用头信息
- Request URL 请求的网址,表示要请求的服务器端资源
- Request Method 请求的方式,对资源的操作方式,例如:get、post
- Status Code 响应的状态码
- 1**:接收到了请求,还没有响应
2**:成功的响应
3**:响应的重定向
4**:客户端错误
5**:服务器端错误
- 1**:接收到了请求,还没有响应
- 响应头信息(response)
- Location 要跳转的网址,配合着状态码3**使用
- Content-Type 响应的内容类型 解决中文乱码 text/html;charset=utf-8
- 请求头信息(request)
四.http模块
使用http模块就可以创建WEB服务器
- const http=require('http') //引入http模块
- const app=http.createServer() //创建WEB服务器
- app.listen(3000) //设置端口
- //服务器通过事件监听浏览器请求
app.on('request', (req, res)=>{
req 请求的对象
req.url 获取请求的资源 格式 '/login'
req.method 获取请求的方式 GET...
res 响应的对象
res.statusCode=状态码 设置响应的状态码,默
认是200
res.setHeader() 设置响应的头信息
res.write() 设置响应的内容
res.end() 结束并发送响应
})
每日一句
二人同心,其利断金;同心之言
"同心协力的人,他们的力量足以把坚硬的金属弄断;同心同德的人发表一致的意见,说服力强,人们就像嗅到芬芳的兰花香味,容易接受。"