Nodejs对内置模块fs的进阶使用方法技巧,querystring使用技巧及进行escape和unescape编码与解码,stat类的使用,模块url的使用,对文件的目录树操作,
版权声明:本文为CSDN博主「NanQiao1716」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/NanQiao1716/article/details/104682189
1.引入内置模块fs,const fs = require('fs')对stat进行操作
- i.如不知nodejs简单的对文件与文件夹的curd请查看文件的curd或查看node文件的读写判断
- ii.如对nodejs是什么,以及nodejs npm配置源是什么不知可查看nodejs简介
- iii.如对这些都以知晓可查看nodejs如何使用第三模块express简单创建服务器查看
2.Class:fs.Stats的简单使用技巧,也可查看官网文档dosc使用什么版本的node就查看什么版本的node的docs,这里我使用的是node v12.6.0版本的
异步stat查看文件信息
fs.stat('../node01',(err,data)=>{//查找文件信息
if(!err){
console.log(data)
}
});
const data = fs.statSync('./www');
console.log(data);
读取到的是单个文件夹
fs.stat('../node01',(err,stats)=>{
if(!err){
console.log(stats.isFile());
console.log(stats.isDirectory());
}
})
//判断读取到的文件是否是文件
const data = fs.readdirSync('../node01');
// console.log(data);
for (let index = 0; index < data.length; index++) {
console.log(data[index]);
fs.stat(data[index],(err,stats)=>{
if(!err){
console.log(stats.isDirectory()); //判断是否文件夹
console.log(stats.isFile()); //判断是否是文件
console.log('-------');
}
})
}
判断读取到的文件是否是文件的示意图###
3.对文件的目录树操作
//在控制台打印目录树
fs.readdir('读取文件的路径path',(err,data)=>{
console.log(data+'\n =======');
if(!err){
for(let i=0 ; i < data.length ; i++){
console.log(data[i]);
}
}
})
对文件的目录树操作示意图###
4.对url地址的操作,引入url
const url = require('url');//引入url
/*parse将url由字符串类型转换为object对象
format将url有对象类型转换为字符串类型
https://www.demo.cn:5000/user/login?us=123456&pw=123&sex:0#你好呀
HTTP协议(potocol) auth(user:pass) 域名(hostname) 端口号(prot) path路径 search(?query=string) 哈希(#hash)
https username:password www.demo.cn 5000 /user/login us=123456&pw=123&sex:0 你好呀
url组成:[(potocol)协议+hostname(域名+端口号)+path(path+search(?query=string))+哈希(#hash)]
*/
- i. //parse将url由字符串类型转换为object对象
// let String = 'https://www.demo.cn:5000/user/login?us=123456&pw=123&sex:0#你好呀';
// let obj = url.parse('https://user:pass@sub.example.com:8080/p/a/t/h?query=string#hash');
// let obj1 = url.parse(String)
// console.log(obj);
// console.log(obj1);
- ii.//format将url有对象类型转换为字符串类型
let obj={
protocol: 'https:',
slashes: true,
auth: null,
host: 'www.demo.cn:5000',
port: '5000',
hostname: 'www.demo.cn',
hash: '#你好呀',
search: '?us=123456&pw=123&sex:0',
query: 'us=123456&pw=123&sex:0',
pathname: '/user/login',
path: '/user/login?us=123456&pw=123&sex:0',
href: 'https://www.demo.cn:5000/user/login?us=123456&pw=123&sex:0#你好呀'
};
let string = url.format(obj);
console.log(string);
5.queryString是使用技巧,引用模块querystring
- i.parse, stringify使用
const qs = require('querystring');//引入qs
//parse将字符串转化成对象类型
let str ='us=你好呀&ps=12345'
let obj =qs.parse(str,'&','=');
// //第一个参数要传转成对象的字符串,第二个参数传入分开key的符号,及每对键值对之间的符号,第三个参数传入分开键值对的符号
console.log(obj);
//stringify将object类型转化字符串类型
let object={us:'nihao', ps:'12345'}
let string = qs.stringify(object,'$','-');//如果object类型中存在中文则会编译成编码的格式
// console.log(string);
- ii. escape()//进行编码操作 unescape()//进行解码操作
const qs = require('querystring');//引入qs
let str ='us=你好呀&ps=12345'
//escape()//进行编码操作 unescape()//进行解码操作
let Escape = qs.escape(str)//escape将中文进行编码
console.log(Escape);
let string='us%3D%E4%BD%A0%E5%A5%BD%E5%91%80%26ps%3D12345';
let Unescape = qs.unescape(string)//unescape解码
console.log(Unescape))
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/NanQiao1716/article/details/104682189
————————————————
版权声明:本文为CSDN博主「NanQiao1716」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/NanQiao1716/article/details/104682189