1. URL
對url解析有兩套方法<空值顯示"">
- 規範(主流):The whatwg url API
const URL = require("url").URL;
const myUrl = new URL(a);
//引數a為string型別 例如https://www.baidu.com
複製程式碼
取map型別中的值:
myUrl.searchParams.get("ie")
- node自己實現解析url<空值顯示null>
const URL = require("url");
const myUrl = URL.parse(a);
//引數a為string型別 例如https://www.baidu.com
複製程式碼
路勁拼接
const resolve = require("url").resolve;
//resolve(a, b) 兩個引數
resolve("local/user/sjl", "url"); //local/user/url
複製程式碼
傳入url地址
resolve(https://www.baidu.com, "node"); //https://www.baidu.com/node
複製程式碼
2.qs模組(querystring處理格式)
demo
//1. qs.parse
const qs = require("querystring");
const URL = require("url").URL;
const myUrl = new URl(""https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=%E4%BC%B4%E5%A5%B9&rsv_pq=9867bbfc00070dc5&rsv_t=2d8bV4Pf6LhibJm74DFWLicdMEgP4jKJZ8PQrdss4Wx14X8m%2B2oi9uEnqJw&rqlang=cn&rsv_enter=1&rsv_sug3=14&rsv_sug1=8&rsv_sug7=100&rsv_sug2=0&inputT=8553&rsv_sug4=10518"");
console.log(qs.parse(myUrl.search.slice(1)));
複製程式碼
效果:
//2. qs.stringify功能
const qs = require("querystring");
let obj = {
sjl : 123,
yl : 456
};
qs.stringify(obj, "@", "$");
複製程式碼
效果:
第二個引數:連線符,預設"&"
第三個引數:鍵值對,預設"="
3.crypto加密模組
const crypto = require('crypto');
//crypto.getHashes ;//雜湊加密所支援的方法
let pwd = "sjl520";
const obj = crypto.createHsh("sha256");//建立一個雜湊加密,規則是256
obj.update(pwd); //通過加密物件對資料進行加密
obj.digest("hex"); //得到加密資料
//disgest得到的是Buffer物件<二進位制> ,"hex"是16進位制
複製程式碼
效果: 1.buffer物件
2.hex物件4.fs檔案操控模組
const fs = require("fs")
-
讀取檔案
1)非同步: fs.readFile(a, b, c)
a> 讀取檔案的路徑 b> 回撥函式:有兩個引數 err,data 1.err: 預設值null,表示讀取順利,發生錯誤時會有報錯資訊(是一個物件{}) 2.data: 讀取的資料(Buffer物件) c> 字符集:"utf8" 複製程式碼
fs.readFile("./sjl.txt", (err, data) => { console.log(err, data); }, "utf8"); //注: 等讀取完文件內容後,執行回撥,只執行一次 複製程式碼
2)同步: fs.readFileSync(a, c)
同步沒有回撥函式,讀取失敗直接報錯 -
寫入檔案 1)非同步: fs.write(a, b, c, d)
a> 檔案路勁名稱 b> 寫入的資料 c> 字符集:"utf8" d> 回撥函式:有一個引數 err err: 預設值null,表示讀取順利,發生錯誤時會有報錯資訊(是一個物件{}) 複製程式碼
let data = "522"; fs.writeFile("./sjl.txt", data, "utf8", (err) => { console.log(err); }, "utf8"); //注: 等讀取完文件內容後,執行回撥,只執行一次 複製程式碼
2)同步: fs.writeSycn(a, c)
-
建立資料夾 fs.mkdir()
fs.mkdir("./sjl", err=>{ console.log(err); }); 注:只能建立單個資料夾,建立存在的會報錯 複製程式碼
-
讀取資料夾 fs.readdir()
fs.readdir("./sjl", (err, data)=>{ //data: 檔案資料,所有資料夾及檔案 }) 複製程式碼
-
判斷
const stat = fs.statSync("路勁")
- 判斷是否是資料夾:stat.isDirectory();
- 判斷是否是檔案 : stat.isFlie(); .....
返回布林值