深入理解Node內(nèi)建模塊和對象
在 node
核心中有些內(nèi)建模塊,使用這些模塊可以操作系統(tǒng),文件和網(wǎng)絡(luò)。打開 nodejs.org
官網(wǎng)可以看到文檔中對應(yīng)版本的 API
,推薦使用穩(wěn)定版。
當然也不全是模塊,比如 console
、 buffer
是對象,這里簡單的講下一些常用的內(nèi)建模塊。
比如有操作文件系統(tǒng)的 filename
、可以創(chuàng)建監(jiān)聽 HTTP
請求的網(wǎng)絡(luò)服務(wù)的 HTTP
、還有操作系統(tǒng)的 OS
模塊、還有 path
,操作路徑、 process
可以返回我們現(xiàn)在正在處理的信息、 QueryString
用來創(chuàng)建 http
服務(wù)的時候非常有用。 stream
可以用來操作數(shù)據(jù)流,后面需要的時候也可以學(xué)到其它的一些模塊。
首先我們先來看看 path
模塊,在文檔中可以看到這個模塊所有的函數(shù)。
往下拉也可以看到針對模塊的使用作出的說明。
回到編輯器,引入 path
模塊
這就是 path
對象,有很多有用的屬性,比如 root
根目錄路徑, dir
應(yīng)用的文件夾路徑, base
應(yīng)用的名稱, ext
文件的后綴名, name
除去后綴名的應(yīng)用名。可以很容易的得到相關(guān)的字符串。
關(guān)于如何使用 OS
模塊獲取當前操作系統(tǒng)的信息。在文檔中可以看到這個模塊所有的函數(shù)。
比如 freemem
,會返回當前可用的內(nèi)存有多少。 totalmem
返回總內(nèi)存的大小。 uptime
獲取開機時間等等。
在 node
之前,用 JavaScript
是得不到這些信息的, JavaScript
被設(shè)計為只能操作 window
或者 document
對象,而不能獲取操作系統(tǒng)的信息。
fs
模塊是我們之后用到的非常多的一個,官方的文檔中列出了很多的操作文件和路徑的方法。
這里列舉一個例子看看如何在 node
中操作,其余的按照文章的方法一一嘗試學(xué)習(xí)就好。這里需要注意的是在實際編程環(huán)境里, fs
對象里有很多的同步或者阻塞的方式,和異步或者非阻塞的方法。盡量避免使用同步方法,使用異步方法。因為 node
是單線程的,同步的方法過多,會造成阻塞,從而無法服務(wù)眾多客戶端。
這里以同步方法是為了方便理解。
我們得到了一個字符串數(shù)組,是這個文件夾中的文件。 好了,我們嘗試再使用異步的方法看看,第一個參數(shù)是路徑,第二個參數(shù)是回調(diào)函數(shù), node
會在異步操作完成后自動執(zhí)行函數(shù)。
得到的結(jié)果和同步是一樣的,那如果我更改下路徑會發(fā)生什么的?
提示沒有這樣的文件或是目錄。
所以在 node
中,能不用同步方法就不用,而是用異步。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- node使用promise替代回調(diào)函數(shù)
- async/await與promise(nodejs中的異步操作問題)
- NodeJS的Promise的用法解析
- NodeJS中利用Promise來封裝異步函數(shù)
- nodejs中簡單實現(xiàn)Javascript Promise機制的實例
- node.js中使用q.js實現(xiàn)api的promise化
- 基于promise.js實現(xiàn)nodejs的promises庫
- Nodejs學(xué)習(xí)筆記之Global Objects全局對象
- 用nodejs訪問ActiveX對象,以操作Access數(shù)據(jù)庫為例。
- 詳解nodeJS之二進制buffer對象
- Node.js 基礎(chǔ)教程之全局對象
- node.js Promise對象的使用方法實例分析
相關(guān)文章
在Node.js下運用MQTT協(xié)議實現(xiàn)即時通訊及離線推送的方法
這篇文章主要介紹了在Node.js下運用MQTT協(xié)議實現(xiàn)即時通訊及離線推送的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01使用Nodejs連接mongodb數(shù)據(jù)庫的實現(xiàn)代碼
這篇文章主要介紹了使用Nodejs連接mongodb數(shù)據(jù)庫的實現(xiàn)代碼,需要的朋友可以參考下2017-08-08Nestjs自定義注解實現(xiàn)接口權(quán)限控制詳解
這篇文章主要為大家介紹了Nestjs自定義注解實現(xiàn)接口權(quán)限控制詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12Node.js文件系統(tǒng)fs擴展fs-extra說明
這篇文章主要介紹了Node.js文件系統(tǒng)fs擴展fs-extra說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08