nodejs內建模組:1、path模組,用於處理檔案路徑,引入語法為「require('path')」;2、until模組,用於彌補js功能不足,新增API;3 、fs模組,檔案作業系統的API;4、events模組,提供了一個「events.EventEmitter」物件;5、jade模組,可透過jade來編寫html檔案。
本文操作環境:Windows10系統、nodejs 12.19.0版、Dell G3電腦。
nodejs內建模組指的是除預設提供的語法之外,提供的美容,無需下載,直接引入,引入只寫名稱即可。
nodejs內建模組:
1、path模組
用於處理檔案路徑。
path.normalize(路徑解析,得到規範路徑);
path.join(路徑合併);
path.resolve(取得絕對路徑);
path.relative(取得相對路徑)。
......
2、until模組
#彌補js功能不足,新增API。
util.format(格式化輸出字串);
util.isArray(檢查是否為陣列);
util.RegExp(是不是正規);
util.isDate(是不是日期型);
util.inherits(child,parent)實作繼承;
3、fs模組
#檔案作業系統的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:寫入的資料或buffer流。
flags:操作標識,開啟方式,r w。
[options]:指定權限,讀取、寫入、執行。是否可續寫。
callback:讀取檔案後的回呼函數。 function(err,data);
fs.mkdir(path,[mode],callback);建立目錄。
fs.readdir(path,callback);讀取目錄。
fs.exists(path,callback);查看檔案與目錄是否存在。
fs.utimes(path,atime,mtime,callback);修改檔案的存取時間和修改時間。
fs.rename(oldfilename,newfilename,callback);重新命名檔案名稱或目錄。
fs.rmdir(path,callback);刪除空目錄。
path:被建立目錄的完整路徑以及目錄名稱。
[mode]:目錄權限,預設為0777(可讀可寫可執行)。
atime:新的訪問時間。
ctime:新的修改時間。
oldfilename、newfilename 舊名字、新名字。
callback:建立完目錄後的回呼函數。
4、events模組
events 模組只提供了一個物件: events.EventEmitter。
【EventEmitter 的核心就是事件觸發與事件監聽器功能的封裝。 】
EventEmitter 的每個事件由一個事件名和若干個參 數組成,事件名是一個字串,通常表達一定的語意。對於每個事件,EventEmitter 支援 若干個事件監聽器。當事件觸發時,註冊到這個事件的事件監聽器被依序調用,事件參數作 為回呼函數參數傳遞。
5、http模組
http.createServer(function(){});建立伺服器。
http.get('路徑',callback);發送get請求。
http.request(options,callback);發送請求。
options:options是一個類似關聯數組的對象,表示請求的參數,callback作為回呼函數,需要傳遞一個參數。
options常用的參數有host、port(預設為80)、method(預設為GET)、path(請求的相對於根的路徑,預設是「/」。
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":"我真的只是测试一下", "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("评论完毕!"); }); console.log(res.statusCode); }); req.on("error",function(err){ console.log(err.message); }) req.write(postData); req.end();
6、jade模組
jade是一款高效能、簡潔易懂的模板引擎。可透過jade來編寫html檔。
jade類似一個用於快速編寫html的語言,其編寫後的檔案後綴為.jade。
7、Express框架
Express是一個nodejs的web開源框架,用於快速的搭建web專案。其主要整合了web的http伺服器的建立、靜態文字管理、伺服器URL位址請求處理、get和post請求處理分發、session處理等功能。
使用方法,在cmd中開啟你所想建立web專案的路徑。然後輸入
Express appname
即可建立名為appname的web專案。
推薦學習:《nodejs影片教學》
以上是nodejs內建模組有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!