这是我参与更文挑战的第29天,活动详情查看:更文挑战
食言了~ 看上篇: Node系列学习之暂结篇
本来以为Node系列要暂时的告别一下了, 准备去搞部署了, 做完登录还有其他功能接口完成后,准备部署上线了, 在上篇文章中还稍稍总结了一下, 结果发现, 还有日志没做, 日志后面还有安全,虽然只是初涉… 日志好像跟登录一样, 也是个大模块, 要花费不少时间去学, 不说了, 慢慢来吧, 不能急~
日志简介
- 访问日志 axcess log
- 自定义日志(包括自义定事件, 错误记录等)
文件读取与写入Demo
const fs = require('fs')
const path = require('path')
const fileName = path.resolve(__dirname, 'data.txt')
// 读取文件内容
// fs.readFile(fileName, (err,data) => {
// if(err) {
// console.log(err);
// return
// }
// console.log(data.toString());
// })
// 写入文件
const content = '这是新写入的内容\n'
const opt = {
flag: 'a' // a: append, 追加写入, w: write, 覆盖写入
}
fs.writeFile(fileName, content, opt, err => {
if (err) {
console.log(err)
}
})
复制代码
Stream
demo
/*
* @Author: Tmier
* @Date: 2021-06-29 23:04:28
* @LastEditTime: 2021-06-29 23:40:41
* @Description:
* @LastModifiedBy: Tmier
*/
// 标准输入输出
// process.stdin.pipe(process.stdout)
// const http = require('http')
// const server = http.createServer((req,res) => {
// if(req.method == 'POST') {
// req.pipe(res)
// }
// })
// server.listen(8000)
// 复制文件
// const fs = require('fs')
// const path = require('path')
// 两个文件名
// const fileName1 = path.resolve(__dirname, 'data.txt') // 获取文件地址
// const fileName2 = path.resolve(__dirname, 'data-bak.txt')
// 读取文件的 stream 对象
// const readStream = fs.createReadStream(fileName1) // 创建读取流
// 写入文件的stream 对象
// const wirteStream = fs.createWriteStream(fileName2) // 创建写入流
// 执行拷贝, 通过pipe
// readStream.pipe(wirteStream)
// 数据读取完成, 即拷贝完成
// readStream.on('data', chunk => { // 监听流
// console.log(chunk.toString());
// })
// readStream.on('end', () => {
// console.log('copy done!');
// })
// 文件IO与网络IO结合
const http = require('http')
const fs = require('fs')
const path = require('path')
const fileName1 = path.resolve(__dirname, 'data.txt')
const server = http.createServer((req,res) => {
if(req.method == 'GET') {
const readStream = fs.createReadStream(fileName1)
readStream.pipe(res)
}
})
server.listen(8000)
复制代码
上面的几个小Demo完成了文件的读取与复制, 对流有了比较深入的了解了, 等明天有时间的话, 开始写接口的日志, 大概是三个,: access.log, error.log, event.log, 学习完这几个Demo后又看了下后面的内容, 发现日志这个模块好像讲的也不多, 也没有讲很深, 主要就是对文件的一些操作, 也没有很麻烦…
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END