Nodejs對內(nèi)置模塊fs的進階使用方法技巧,querystring使用技巧及進行escape和unescape編碼與解碼,stat類的使用,模塊url的使用,對文件的目錄樹操作,

Nodejs對內(nèi)置模塊fs的進階使用方法技巧,querystring使用技巧及進行escape和unescape編碼與解碼,stat類的使用,模塊url的使用,對文件的目錄樹操作,
版權(quán)聲明:本文為CSDN博主「NanQiao1716」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/NanQiao1716/article/details/104682189

1.引入內(nèi)置模塊fs,const fs = require('fs')對stat進行操作
2.Class:fs.Stats的簡單使用技巧,也可查看官網(wǎng)文檔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由字符串類型轉(zhuǎn)換為object對象
format將url有對象類型轉(zhuǎn)換為字符串類型                      
https://www.demo.cn:5000/user/login?us=123456&pw=123&sex:0#你好呀
HTTP協(xié)議(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)協(xié)議+hostname(域名+端口號)+path(path+search(?query=string))+哈希(#hash)]
*/
  • i. //parse將url由字符串類型轉(zhuǎn)換為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);
parse將字符串轉(zhuǎn)對象
  • ii.//format將url有對象類型轉(zhuǎn)換為字符串類型
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);
format對象轉(zhuǎn)字符串
5.queryString是使用技巧,引用模塊querystring
  • i.parse, stringify使用
    const qs = require('querystring');//引入qs
    //parse將字符串轉(zhuǎn)化成對象類型
  let str ='us=你好呀&ps=12345'
    let obj =qs.parse(str,'&','=');
    // //第一個參數(shù)要傳轉(zhuǎn)成對象的字符串,第二個參數(shù)傳入分開key的符號,及每對鍵值對之間的符號,第三個參數(shù)傳入分開鍵值對的符號
    console.log(obj);

      //stringify將object類型轉(zhuǎn)化字符串類型
      let object={us:'nihao', ps:'12345'}
      let string = qs.stringify(object,'$','-');//如果object類型中存在中文則會編譯成編碼的格式
    // console.log(string);
querystring示意圖
  • 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))
unescape示意圖

版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/NanQiao1716/article/details/104682189
————————————————
版權(quán)聲明:本文為CSDN博主「NanQiao1716」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/NanQiao1716/article/details/104682189

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容