優勢:高併發特別好。高併發:同時大量的處理數據html
一、防止甩鍋 明確數據交互的錯誤問題在誰
二、可以書寫api 斜槓青年(有第二產業的青年)
三、瞭解先後端交互流程
四、全棧工程師java
let 變量名 = require(引入文件的路徑)
fs.mkdir('文件路徑以及名字(./test)',回調函數(err)={ console.log(err) })
fs.rmdir('文件路徑名字',回調函數(err)=>{ console.log(err)})
fs.rename('舊文件夾','新文件夾',回調函數)
fs.readdir('文件夾路徑',(err,data)=>{console.log(err,data)})
fs.writeFile('文件夾名字(name.js)','添加的內容(hello word)',回調函數(err)=>{ console.log(err), })
fs.appendFile('(文件夾名字)name.js','添加的內容',回調函數(err)=>{console.log(err)})
fs.readFile('(文件夾名字)name.js',回調函數(err,msg)=>{console.log(err,msg.toString('utf8'))})
默認讀取是二進制數據流buffer,因此進行轉換。或者寫成fs.readFile('name.txt','utf8',(err,msg)=>{console.log(err,msg)})
fs.unlink('文件路徑和名字',(err)=>{console.log(err)})
- url: 統一資源定位符 url由協議、域名、端口號、path、hash構成。
url.parse(url字符串)
url.format(url對象)
let qs = require('querystring') ;
let string = 'user=67&page=65'
let obj = qs.parse(string);console.log(obj)
qs.stringify(obj,'#',':')
第一個參數是要轉化的query對象,第二個參數是健值對的以什麼符號切分的,第三個參數是鍵和值之間切分的符號。第2、三參數默認是&和=切分。let transporter = nodemailer.createTransport({ host:'smtp.qq.com',//發送方的郵件類型,例如qq,網易,163等等;具體的經過依賴下的lib下的well-known下的server.json文件查找相關的配置 port:465,//郵箱類型的端口號 secure:true,//端口號爲465則爲true,其餘的全爲false auth:{ user:'236799127@qq.com',//發送方的郵箱密碼 pass:'fdshfhsajkh'//smtp驗證碼 這個在郵箱設置的帳戶下,點擊開啓就會有smtp驗證碼 } })
let info = { from :'<2367991927@qq.com>',//從哪裏發出 to : '451464730@qq.com',//接收方郵箱
subject : '標題' , text : '發送的內容' //也能夠發送html, html:內容 }transporter,sendMail(info)
let err = new Error('發生錯誤')
throw err
//拋出錯誤,代碼終止執行console.log(err),
//打印錯誤對象,代碼繼續執行一、接收數據(用戶名和密碼)
二、處理數據(判斷用戶名和密碼是否正確)
三、返回數據(告訴用戶是否登陸成功)node