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

1.引入內置模塊fs,const fs = require(‘fs’)對stat進行操作
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);

parse將字符串轉對象

  • 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);

format對象轉字符串

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);

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示意圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章