Node.js 是一套基於事件驅動、非同步 I/O 的開源跨平台 JavaScript 執行階段環境。在 Node.js 中,使用模組來組織程式碼,每個模組都是一個獨立的文件,可以透過導入/導出進行模組間呼叫和邏輯復用。本文將介紹 Node.js 模組的基本用法。
1.導入模組
在 Node.js 中,使用 require() 函數導入模組。 require() 函數的參數為需要導入的模組名,模組名可以是相對路徑或絕對路徑,也可以是系統模組。
const module1 = require('./module1') const module2 = require('./module2') const fs = require('fs')
2.導出模組
在 Node.js 中,使用 module.exports 物件或 exports 物件導出模組。 module.exports 和 exports 的預設值都是空物件 {},但是 module.exports 可以被重新賦值,而 exports 只是 module.exports 的一個引用,不能被重新賦值。
function add(a, b) { return a + b } module.exports = { add: add } exports.sub = function(a, b) { return a - b }
3.模組快取
載入模組時,Node.js 會快取已載入的模組以提高運作效率。當第二次載入相同的模組時,Node.js 會直接從快取中讀取,而不是重新載入。
4.模組路徑解析順序
在require() 函數中指定的模組名稱若不是系統模組,則會依照下列順序解析模組路徑:
1.如果指定名字的模組是核心模組,則跳過後續的路徑解析,直接傳回該模組;
2.如果指定名字的模組以'./' 或'../' 開頭,則依照路徑解析規則來定位模組檔。路徑解析規則是:如果包含該模組的目錄是目前目錄,則尋找該目錄下的指定檔案。如果包含該模組的目錄是已新增至 $NODE_PATH 環境變數的目錄,則在該目錄下尋找指定檔案。如果包含該模組的目錄不在上述兩種目錄中,則在目前目錄和已新增至$NODE_PATH 環境變數的目錄中依序尋找指定檔案;
3.如果指定名字的模組不是一個核心模組,也不是以'./' 或'../' 開頭的文件名,則按照以下順序依次查找模組文件:
1.在包含该模块的目录下查找 node_modules 目录; 2.在当前目录下查找 node_modules 目录; 3.在已添加到 $NODE_PATH 环境变量的目录中查找 node_modules 目录;
4.如果仍然找不到指定的模組文件,則拋出錯誤。
5.模組的循環引用
在 Node.js 中,允許模組之間進行循環引用,但是循環引用可能會導致模組未定義的問題。為了避免模組的循環引用,需要注意使用導出的方式和導入的時機。
6.總結
本文介紹了 Node.js 模組的基本用法,包括導入模組、導出模組、模組快取、模組路徑解析順序和模組的循環引用等。了解這些內容將有助於我們更好地理解和使用 Node.js 模組化程式設計的想法。
以上是nodejs模組怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了React中的使用效應,這是一種用於管理副作用的鉤子,例如數據獲取和功能組件中的DOM操縱。它解釋了用法,常見的副作用和清理,以防止記憶洩漏等問題。

JavaScript中的高階功能通過抽象,常見模式和優化技術增強代碼簡潔性,可重複性,模塊化和性能。

本文討論了JavaScript中的咖哩,這是一種將多重題材函數轉換為單詞彙函數序列的技術。它探討了咖哩的實施,諸如部分應用和實際用途之類的好處,增強代碼閱讀

本文解釋了React中的UseContext,該文章通過避免道具鑽探簡化了狀態管理。它討論了通過減少的重新租賃者進行集中國家和績效改善之類的好處。

文章討論了使用DestrestDefault()方法在事件處理程序中預防默認行為,其好處(例如增強的用戶體驗)以及諸如可訪問性問題之類的潛在問題。

本文討論了React中受控和不受控制的組件的優勢和缺點,重點是可預測性,性能和用例等方面。它建議在選擇之間選擇因素。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境