您好,登錄后才能下訂單哦!
這篇文章主要介紹“node有哪些原生模塊”,在日常操作中,相信很多人在node有哪些原生模塊問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”node有哪些原生模塊”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
node原生模塊有:1、path模塊,用于處理文件路徑;2、until模塊;3、fs模塊,文件操作系統(tǒng)的API;4、events模塊;5、http模塊;6、jade模塊,一款高性能、簡(jiǎn)潔易懂的模板引擎;7、Express框架。
本教程操作環(huán)境:windows7系統(tǒng)、nodejs 12.19.0版,DELL G3電腦。
nodejs原生(內(nèi)置)模塊指的是除默認(rèn)提供的語(yǔ)法之外,無(wú)需下載,直接引入,引入只寫(xiě)名稱(chēng)即可。
nodejs原生模塊:
1、path模塊 :
用于處理文件路徑。
path.normalize(路徑解析,得到規(guī)范路徑); path.join(路徑合并); path.resolve(獲取絕對(duì)路徑); path.relative(獲取相對(duì)路徑)。 ......
2、until模塊 :
彌補(bǔ)js功能不足,新增API。
util.format(格式化輸出字符串); util.isArray(檢查是否為數(shù)組); util.RegExp(是不是正則); util.isDate(是不是日期型); util.inherits(child,parent)實(shí)現(xiàn)繼承;
3、fs模塊:
文件操作系統(tǒng)的API
fs.readFile(filename,[options],callback); 讀取文件。 fs.writeFile(filename,data,[options],callback);寫(xiě)文件。 fs.appendFile(filename,data,[options],callback);以追加的方式寫(xiě)文件。 fs.open(filename,flags,[mode],callback); 打開(kāi)文件。 filename:文件名,必須。 data:寫(xiě)入的數(shù)據(jù)或者buffer流。 flags:操作標(biāo)識(shí),打開(kāi)方式,r w。 [options]:指定權(quán)限,讀、寫(xiě)、執(zhí)行。是否可續(xù)寫(xiě)。 callback:讀取文件后的回調(diào)函數(shù)。function(err,data); fs.mkdir(path,[mode],callback);創(chuàng)建目錄。 fs.readdir(path,callback);讀取目錄。 fs.exists(path,callback);查看文件與目錄是否存在。 fs.utimes(path,atime,mtime,callback);修改文件的訪(fǎng)問(wèn)時(shí)間和修改時(shí)間。 fs.rename(oldfilename,newfilename,callback);重命名文件名或者目錄。 fs.rmdir(path,callback);刪除空目錄。 path:被創(chuàng)建目錄的完整路徑以及目錄名。 [mode]:目錄權(quán)限,默認(rèn)0777(可讀可寫(xiě)可執(zhí)行)。 atime:新的訪(fǎng)問(wèn)時(shí)間。 ctime:新的修改時(shí)間。 oldfilename、newfilename 舊名字和新名字。 callback:創(chuàng)建完目錄后的回調(diào)函數(shù)。
4、events模塊
events 模塊只提供了一個(gè)對(duì)象: events.EventEmitter。
【EventEmitter 的核心就是事件觸發(fā)與事件監(jiān)聽(tīng)器功能的封裝?!?/p>
EventEmitter 的每個(gè)事件由一個(gè)事件名和若干個(gè)參 數(shù)組成,事件名是一個(gè)字符串,通常表達(dá)一定的語(yǔ)義。對(duì)于每個(gè)事件,EventEmitter 支持 若干個(gè)事件監(jiān)聽(tīng)器。當(dāng)事件觸發(fā)時(shí),注冊(cè)到這個(gè)事件的事件監(jiān)聽(tīng)器被依次調(diào)用,事件參數(shù)作 為回調(diào)函數(shù)參數(shù)傳遞。
5、http模塊
http.createServer(function(){});創(chuàng)建服務(wù)器。 http.get('路徑',callback);發(fā)送get請(qǐng)求。 http.request(options,callback);發(fā)送請(qǐng)求。 options:options是一個(gè)類(lèi)似關(guān)聯(lián)數(shù)組的對(duì)象,表示請(qǐng)求的參數(shù),callback作為回調(diào)函數(shù),需要傳遞一個(gè)參數(shù)。 options常用的參數(shù)有host、port(默認(rèn)為80)、method(默認(rèn)為GET)、path(請(qǐng)求的相對(duì)于根的路徑,默認(rèn)是“/”。
get:
var http=require("http"); var options={ hostname:"cn.bing.com", port:80 } var req=http.request(options,function(res){ res.setEncoding("utf-8"); res.on("data",function(chunk){ console.log(chunk.toString()) }); console.log(res.statusCode); }); req.on("error",function(err){ console.log(err.message); }); req.end();
post:
var http=require("http"); var querystring=require("querystring"); var postData=querystring.stringify({ "content":"我真的只是測(cè)試一下", "mid":8837 }); var options={ hostname:"www.imooc.com", port:80, path:"/course/document", method:"POST", headers:{ "Accept":"application/json, text/JavaScript, */*; q=0.01", "Accept-Encoding":"gzip, deflate", "Accept-Language":"zh-CN,zh;q=0.8", "Connection":"keep-alive", "Content-Length":postData.length, "Content-Type":"application/x-www-form-urlencoded; charset=UTF-8", "Cookie":"imooc_uuid=6cc9e8d5-424a-4861-9f7d-9cbcfbe4c6ae; imooc_isnew_ct=1460873157; loginstate=1; apsid=IzZDJiMGU0OTMyNTE0ZGFhZDAzZDNhZTAyZDg2ZmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjkyOTk0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGNmNmFhMmVhMTYwNzRmMjczNjdmZWUyNDg1ZTZkMGM1BwhXVwcIV1c%3DMD; phpSESSID=thh5bfrl1t7qre9tr56m32tbv0; Hm_lvt_f0cfcccd7b1393990c78efdeebff3968=1467635471,1467653719,1467654690,1467654957; Hm_lpvt_f0cfcccd7b1393990c78efdeebff3968=1467655022; imooc_isnew=2; cvde=577a9e57ce250-34", "Host":"www.imooc.com", "Origin":"http://www.imooc.com", "Referer":"http://www.imooc.com/video/8837", "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/53.0.2763.0 Safari/537.36", "X-Requested-With":"XMLHttpRequest", } } var req=http.request(options,function(res){ res.on("data",function(chunk){ console.log(chunk); }); res.on("end",function(){ console.log("評(píng)論完畢!"); }); console.log(res.statusCode); }); req.on("error",function(err){ console.log(err.message); }) req.write(postData); req.end();
6、jade模塊
jade是一款高性能、簡(jiǎn)潔易懂的模板引擎??赏ㄟ^(guò)jade來(lái)編寫(xiě)html文件。
jade類(lèi)似一個(gè)用于快速編寫(xiě)html的語(yǔ)言,其編寫(xiě)后的文件后綴為.jade。
7、Express框架
Express是一個(gè)nodejs的web開(kāi)源框架,用于快速的搭建web項(xiàng)目。其主要集成了web的http服務(wù)器的創(chuàng)建、靜態(tài)文本管理、服務(wù)器URL地址請(qǐng)求處理、get和post請(qǐng)求處理分發(fā)、session處理等功能。
使用方法,在cmd中打開(kāi)你所想創(chuàng)建web項(xiàng)目的路徑。然后輸入
Express appname
即可創(chuàng)建一個(gè)名為appname的web項(xiàng)目。
到此,關(guān)于“node有哪些原生模塊”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。