深入理解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ù)流,后面需要的時候也可以學到其它的一些模塊。
首先我們先來看看 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 中操作,其余的按照文章的方法一一嘗試學習就好。這里需要注意的是在實際編程環(huán)境里, fs 對象里有很多的同步或者阻塞的方式,和異步或者非阻塞的方法。盡量避免使用同步方法,使用異步方法。因為 node 是單線程的,同步的方法過多,會造成阻塞,從而無法服務(wù)眾多客戶端。

這里以同步方法是為了方便理解。

我們得到了一個字符串數(shù)組,是這個文件夾中的文件。 好了,我們嘗試再使用異步的方法看看,第一個參數(shù)是路徑,第二個參數(shù)是回調(diào)函數(shù), node 會在異步操作完成后自動執(zhí)行函數(shù)。

得到的結(jié)果和同步是一樣的,那如果我更改下路徑會發(fā)生什么的?

提示沒有這樣的文件或是目錄。
所以在 node 中,能不用同步方法就不用,而是用異步。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- 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學習筆記之Global Objects全局對象
- 用nodejs訪問ActiveX對象,以操作Access數(shù)據(jù)庫為例。
- 詳解nodeJS之二進制buffer對象
- Node.js 基礎(chǔ)教程之全局對象
- node.js Promise對象的使用方法實例分析
相關(guān)文章
教你從零開始在Windows系統(tǒng)上搭建一個node.js后端服務(wù)項目
這篇文章詳細介紹了如何在Windows環(huán)境下搭建一個Node.js項目并使用Express框架,包括安裝Node.js、配置環(huán)境、創(chuàng)建項目、安裝Express、編輯代碼、運行項目、集成Nodemon實現(xiàn)熱部署等步驟2024-11-11
node.js使用http模塊創(chuàng)建服務(wù)器和客戶端完整示例
這篇文章主要介紹了node.js使用http模塊創(chuàng)建服務(wù)器和客戶端,結(jié)合完整示例形式分析了node.js基于http模塊實現(xiàn)客戶端與服務(wù)器端交互的相關(guān)操作技巧,需要的朋友可以參考下2020-02-02
如何構(gòu)建一個?NodeJS?影院微服務(wù)并使用?Docker?部署
微服務(wù)是一個單獨的自包含單元,與其他許多單元一起構(gòu)成一個大型應(yīng)用程序,這篇文章主要介紹了如何構(gòu)建一個NodeJS影院微服務(wù)并使用Docker部署,在這個系列中,將構(gòu)建一個 NodeJS 微服務(wù),并使用 Docker Swarm 集群進行部署,需要的朋友可以參考下2023-08-08
Windows中徹底刪除Node.js環(huán)境(以及npm)的方法
本文詳細介紹了如何在Windows電腦中徹底刪除Node.js環(huán)境,包括查找安裝路徑、使用控制面板卸載以及手動刪除殘留文件夾2025-01-01
使用nodejs+express實現(xiàn)簡單的文件上傳功能
這篇文章主要介紹了使用nodejs+express完成簡單的文件上傳功能,需要的朋友可以參考下2017-12-12
詳解Node.js利用node-git-server快速搭建git服務(wù)器
本篇文章主要介紹了詳解Node.js利用node-git-server快速搭建git服務(wù)器,非常具有實用價值,需要的朋友可以參考下2017-09-09
Node.js操作Firebird數(shù)據(jù)庫教程
這篇文章主要為大家分享了Node.js操作Firebird數(shù)據(jù)庫教程,思路清晰便于大家理解,感興趣的小伙伴們可以參考一下2016-03-03

