nodejs雜項

node.js四個常用包

const http=require('http');//建立服務
const fs=require('fs');//文件相關操作
const querystring=require('querystring');//解析解析url參數
const url = require('url');//處理url

指定文件寫入數據
指定文件寫入數據如果沒有那個文件則創建
fs.writeFile(path,data,calback(err))
path:路徑
data:數據
callback:回調函數
讀取指定文件
fs.readFile(path,callback(err,data))

創建服務

let server=http.createServer((req,res)=>{
  //req:接收請求
  //res:發送請求
}).listen(8080)

request相關方法

  • req.method:獲取頁面請求方式(post/get)
  • res.write(data):頁面寫入數據
  • res.end();數據寫入完畢
  • res.url:返回用戶請求的url

解析get&post

get
第一種方法

	let [url,query] = req.url.split('?');//將地址與參數分隔
	let get = querystring.parse(query);//解析get數據
	{name:test,pwd:123}

第二種方法

let result = url.parse(req.url,true);//第二個參數爲true表示一併解析get數據
//將地址與get數據分開
let {path,data} = url.parse(req.url,true);

post

    //由於post數據較大時是分段發送的因此服務器要分段接收
    let arr = [];//定義一個數組接收post數據

    req.on('data',buffer=>{
    	//如果有post數據過來將其添加到數組
    	arr.push(buffer);
    });
    req.on('end',()=>{
    	let buffer = Buffer.concat(arr);
    	//當數據發送完畢時,使用buffer對象連接數據
        querystring.parse(buffer);
        //利用querystring解析post數據類似於name=er$pass=45
        //解析爲 {name:er,pass:45}
    })

node模塊

定義模塊

1.定義模塊
一個文件就是一個模塊
通過module對象 實現批量導出

 module.exports={
   a:12,b:45
  }

通過exports對象導出一個

  exports.a = 12;
//導出函數
exports.funcname=function(){}

引入模塊

 const mode = require('./mode.js')//必須加路徑

如果不想加路徑,直接把模塊放在node_modules目錄

 const mode = require('mode');
  console.log(mode.a)

常用系統模塊

  • 1.assert:斷言
    assert(條件,‘條件不成立輸出的信息’)
    可用在大型模塊/函數,每一階段斷言測試或函數參數校驗
    assert.deepEqual(變量,預期值,msg)比較 成員相當於==
    assert.deepStrictEqual(變量,預期值,msg) 深度比較相對於 ===
  • 2.path:路徑
    路徑拼接,信息獲取
    path.dirname(url) 返回文件目錄
    path.extname(url) 返回文件擴展名
    path.basename(url) 返回文件名.擴展名
    path.resolve() 將路徑解析單一路徑
path.resolve('root/a/b','../c','build','..','scrt');
//返回 root/a/c/scrt

獲取當前文件的絕對路徑

path.resolve(__dirname,'build')
   //返回www/text/build
  • 3.url :網址
    url.parse(str);解析網址相關信息.
    url.parse(str.true);將url參數解析爲json格式
  • 4.querystring :請求數據
    querystring.parse(url參數) 將url參數解析json
    …stringify({a:1:b2}) 將json轉譯爲url參數形式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章