首頁 > web前端 > 前端問答 > nodejs模組怎麼用

nodejs模組怎麼用

WBOY
發布: 2023-05-18 13:26:08
原創
627 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板