溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

node有哪些原生模塊

發(fā)布時(shí)間:2021-12-13 13:31:12 來(lái)源:億速云 閱讀:245 作者:iii 欄目:web開(kāi)發(fā)

這篇文章主要介紹“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框架。

node有哪些原生模塊

本教程操作環(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í)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI