溫馨提示×

溫馨提示×

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

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

nodejs有什么內(nèi)置模塊

發(fā)布時間:2022-06-29 14:03:13 來源:億速云 閱讀:292 作者:iii 欄目:web開發(fā)

本篇內(nèi)容主要講解“nodejs有什么內(nèi)置模塊”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“nodejs有什么內(nèi)置模塊”吧!

nodejs內(nèi)置模塊:1、path模塊,用于處理文件路徑,引入語法為“require('path')”;2、until模塊,用于彌補js功能不足,新增API;3、fs模塊,文件操作系統(tǒng)的API;4、events模塊,提供了一個“events.EventEmitter”對象;5、jade模塊,可通過jade來編寫html文件。

本文操作環(huán)境:Windows10系統(tǒng)、nodejs 12.19.0版、Dell G3電腦。

nodejs內(nèi)置模塊

nodejs內(nèi)置模塊指的是除默認提供的語法之外,提供的美容,無需下載,直接引入,引入只寫名稱即可。

nodejs內(nèi)置模塊:

1、path模塊

用于處理文件路徑。

path.normalize(路徑解析,得到規(guī)范路徑);

path.join(路徑合并);

path.resolve(獲取絕對路徑);

path.relative(獲取相對路徑)。

......

2、until模塊

彌補js功能不足,新增API。

util.format(格式化輸出字符串);

util.isArray(檢查是否為數(shù)組);

util.RegExp(是不是正則);

util.isDate(是不是日期型);

util.inherits(child,parent)實現(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)識,打開方式,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);修改文件的訪問時間和修改時間。

fs.rename(oldfilename,newfilename,callback);重命名文件名或者目錄。

fs.rmdir(path,callback);刪除空目錄。

path:被創(chuàng)建目錄的完整路徑以及目錄名。

[mode]:目錄權(quán)限,默認0777(可讀可寫可執(zhí)行)。

atime:新的訪問時間。

ctime:新的修改時間。

oldfilename、newfilename  舊名字和新名字。

callback:創(chuàng)建完目錄后的回調(diào)函數(shù)。

4、events模塊

events 模塊只提供了一個對象: events.EventEmitter。

【EventEmitter 的核心就是事件觸發(fā)與事件監(jiān)聽器功能的封裝?!?/p>

EventEmitter 的每個事件由一個事件名和若干個參 數(shù)組成,事件名是一個字符串,通常表達一定的語義。對于每個事件,EventEmitter 支持 若干個事件監(jiān)聽器。當(dāng)事件觸發(fā)時,注冊到這個事件的事件監(jiān)聽器被依次調(diào)用,事件參數(shù)作 為回調(diào)函數(shù)參數(shù)傳遞。

5、http模塊

http.createServer(function(){});創(chuàng)建服務(wù)器。

http.get('路徑',callback);發(fā)送get請求。

http.request(options,callback);發(fā)送請求。

options:options是一個類似關(guān)聯(lián)數(shù)組的對象,表示請求的參數(shù),callback作為回調(diào)函數(shù),需要傳遞一個參數(shù)。

options常用的參數(shù)有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=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("評論完畢!");
    });
    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服務(wù)器的創(chuàng)建、靜態(tài)文本管理、服務(wù)器URL地址請求處理、get和post請求處理分發(fā)、session處理等功能。

使用方法,在cmd中打開你所想創(chuàng)建web項目的路徑。然后輸入

Express appname

即可創(chuàng)建一個名為appname的web項目。

到此,相信大家對“nodejs有什么內(nèi)置模塊”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI