詳解nodejs內(nèi)置模塊
概述
nodejs內(nèi)置模塊指的是除默認(rèn)提供的語(yǔ)法之外,提供的美容,無(wú)需下載,直接引入,引入只寫名稱即可。
nodejs內(nèi)置模塊:
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);寫文件。
fs.appendFile(filename,data,[options],callback);以追加的方式寫文件。
fs.open(filename,flags,[mode],callback); 打開文件。
filename:文件名,必須。
data:寫入的數(shù)據(jù)或者buffer流。
flags:操作標(biāo)識(shí),打開方式,r w。
[options]:指定權(quán)限,讀、寫、執(zhí)行。是否可續(xù)寫。
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);修改文件的訪問時(shí)間和修改時(shí)間。
fs.rename(oldfilename,newfilename,callback);重命名文件名或者目錄。
fs.rmdir(path,callback);刪除空目錄。
path:被創(chuàng)建目錄的完整路徑以及目錄名。
[mode]:目錄權(quán)限,默認(rèn)0777(可讀可寫可執(zhí)行)。
atime:新的訪問時(shí)間。
ctime:新的修改時(shí)間。
oldfilename、newfilename 舊名字和新名字。
callback:創(chuàng)建完目錄后的回調(diào)函數(shù)。
4、events模塊
events 模塊只提供了一個(gè)對(duì)象: events.EventEmitter。
【EventEmitter 的核心就是事件觸發(fā)與事件監(jiān)聽器功能的封裝?!?/p>
EventEmitter 的每個(gè)事件由一個(gè)事件名和若干個(gè)參 數(shù)組成,事件名是一個(gè)字符串,通常表達(dá)一定的語(yǔ)義。對(duì)于每個(gè)事件,EventEmitter 支持 若干個(gè)事件監(jiān)聽器。當(dāng)事件觸發(fā)時(shí),注冊(cè)到這個(gè)事件的事件監(jiān)聽器被依次調(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è)類似關(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=thh4bfrl1t7qre9tr56m32tbv0; 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)潔易懂的模板引擎??赏ㄟ^jade來(lái)編寫html文件。
jade類似一個(gè)用于快速編寫html的語(yǔ)言,其編寫后的文件后綴為.jade。
7、Express框架
Express是一個(gè)nodejs的web開源框架,用于快速的搭建web項(xiàng)目。其主要集成了web的http服務(wù)器的創(chuàng)建、靜態(tài)文本管理、服務(wù)器URL地址請(qǐng)求處理、get和post請(qǐng)求處理分發(fā)、session處理等功能。
使用方法,在cmd中打開你所想創(chuàng)建web項(xiàng)目的路徑。然后輸入
Express appname
即可創(chuàng)建一個(gè)名為appname的web項(xiàng)目。
以上就是詳解nodejs內(nèi)置模塊的詳細(xì)內(nèi)容,更多關(guān)于nodejs內(nèi)置模塊的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Node.js檢測(cè)端口(port)是否被占用的簡(jiǎn)單示例
大家有沒有遇到過在開啟本地服務(wù)時(shí),有這么一種情況:當(dāng)前端口已經(jīng)被另一個(gè)項(xiàng)目使用了,導(dǎo)致服務(wù)開啟失敗。那么接下來(lái),我們通過簡(jiǎn)簡(jiǎn)單單的示例代碼來(lái)檢測(cè)端口是否已經(jīng)被占用。有需要的朋友們可以參考借鑒。2016-09-09node.js中的http.response.write方法使用說(shuō)明
這篇文章主要介紹了node.js中的http.response.write方法使用說(shuō)明,本文介紹了http.response.write的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12node.js實(shí)現(xiàn)回調(diào)的方法示例
這篇文章主要介紹了node.js實(shí)現(xiàn)回調(diào)的方法,結(jié)合實(shí)例形式分析了node.js實(shí)現(xiàn)向回調(diào)函數(shù)傳遞參數(shù)、閉包的使用及鏈?zhǔn)交卣{(diào)相關(guān)操作技巧,需要的朋友可以參考下2017-03-03Node.js微信 access_token ( jsapi_ticket ) 存取與刷新的示例
本篇文章主要介紹了Node.js微信 access_token ( jsapi_ticket ) 存取與刷新的示例,具有一定的參考價(jià)值,有興趣的可以了解一一下‘2017-09-09NodeJS?GRPC?多個(gè)?.proto?文件的處理步驟
本文教程詳細(xì)介紹了在NodeJS環(huán)境中如何使用gRPC框架處理多個(gè).proto文件,步驟包括安裝依賴、定義.proto文件、生成gRPC代碼、實(shí)現(xiàn)服務(wù)器和客戶端以及運(yùn)行,適用于開發(fā)者在構(gòu)建分布式應(yīng)用時(shí)進(jìn)行接口定義和服務(wù)實(shí)現(xiàn)2024-10-10node+multer實(shí)現(xiàn)圖片上傳的示例代碼
這篇文章主要介紹了node+multer實(shí)現(xiàn)圖片上傳的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02