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:[email protected]: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))