Nodejs基础4之fs模块的批量重命名练习、path模块、HTTP协议

fs模块

fs练习-批量重命名

基础练习

  1. 编写一个 JS 文件,实现复制文件的功能
  2. 文件重命名
const fs=require('fs')

fs.readdir('./code',(err,data)=>{
    if(err){
        console.log("读取失败")
        return
    }
    data.forEach(item=>{
        //遍历数组,将数字和名字拆分开
        let arr=item.split('-')
        console.log(arr);
        //提取数字和名字
        let [num,name]=arr;
        //数字小于0的前面加0
        if(Number(num)<10){
            num='0'+num
        }
        //重新组合
        let newName=num+'-'+name
        //文件重命名
        fs.renameSync(`./code/${item}`,`./code/${newName}`)
    })
})

代码执行前:
在这里插入图片描述
代码执行后:
在这里插入图片描述

fs练习-批量排序重命名

需求:删除其中一个文件,序号中断,需要后续的序号顺连

//导入 fs 模块
const fs = require('fs');

//读取 code 文件夹
const files = fs.readdirSync('./code');

//遍历数组
files.forEach((item, index) => {
    //拆分
    let [num, name] = item.split('-');
    //index 自增
    index++;
    //判断
    index = index < 10 ? '0' + index : index;
    //拼接新的名字
    let newName = index + '-' + name;
    //移动文件
    fs.renameSync(`./code/${item}`, `./code/${newName}`);
});

代码执行前:
在这里插入图片描述
代码执行后:
在这里插入图片描述

path模块

API说明
path.resolve拼接规范的绝对路径 常用
path.sep获取操作系统的路径分隔符
path.parse解析路径并返回对象
path.basename获取路径的基础名称
path.dirname获取路径的目录名
path.extname获得路径的扩展名

resolve 解决

const fs=require('fs')
const path=require('path')
//之前的情况
fs.writeFileSync("之前的情况:",__dirname+'/index.html','love')
//打印输出路径
console.log(__dirname+'/index.html')

//resolve解决  第二个参数必须是相对路径,不能是绝对路径
console.log("path的resolve解决:",path.resolve(__dirname, './index.html'));
console.log("也可以这么写:",path.resolve(__dirname,'index.html'));
console.log("不能这么写,否则:",path.resolve(__dirname,'/index.html'))    //  /index.html 是绝对路径
console.log("往后拼接也会变成:",path.resolve(__dirname,'/index.html','./test.html'))

在这里插入图片描述
文件列表:
在这里插入图片描述

sep 分隔符

//sep
const path=require('path')

console.log(path.sep);  //Windows电脑 :\   Linux :/

在这里插入图片描述

parse 方法

__filename 文件的绝对路径

//parse
const path=require('path')    //__dirname 全局变量
console.log(__filename)  //__filename  文件的绝对路径

const str='F:\\nodejs-learning\\2-path模块\\1-path.js'
console.log(path.parse(str))

在这里插入图片描述

其他的几个方法

//basename
const path=require('path')
const str='F:\\nodejs-learning\\2-path模块\\1-path.js'

console.log(path.basename(str));

//dirname
console.log(path.dirname(str));

//extname
console.log(path.extname(str));

在这里插入图片描述

HTTP协议

HTTP(hypertext transport protocol)协议;中文叫超文本传输协议
互联网应用最广泛的协议之一
协议:双方必须共同遵从的一组约定
在这里插入图片描述

http报文

安装fiddler软件

在这里插入图片描述
在这里插入图片描述

配置fiddler

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
点击完后,选择OK
在这里插入图片描述
重新启动fiddler

然后为了更好的监听浏览器请求,将所有进程选择浏览器进程
在这里插入图片描述

使用fiddler

在浏览器输入百度网址,并按下回车,fiddler出现的是按下回车之后的所有请求。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

请求报文结构

整体

在这里插入图片描述

请求行

在这里插入图片描述

请求方法

在这里插入图片描述

URL

在这里插入图片描述

HTTP版本号

在这里插入图片描述

请求头

key:value的格式
在这里插入图片描述
详细参考网站: HTTP标头

请求体

请求百度网站时候:
在这里插入图片描述
请求体的内容格式是非常灵活的,可以设置任意内容
JSON格式的数据或者是GET参数形式的数据等方式

响应报文结构

整体

在这里插入图片描述

响应行

在这里插入图片描述

响应状态码

在这里插入图片描述
在这里插入图片描述

响应状态的描述

在这里插入图片描述
HTTP响应状态码查阅:链接

响应头

在这里插入图片描述
不懂的也可在mdn上查到(与请求头查询链接一致)

响应体

响应体的内容格式是非常灵活的,常见的响应体格式有:
1.HTML
2.CSS
3.JavaScript
4. 图片
5. 视频
6. JSON
在这里插入图片描述
百度的响应体是HTML

  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值