在 node.js 中,模塊用于劃分代碼,增強可維護性。通過 module.exports 導(dǎo)出模塊,通過 require() 導(dǎo)入模塊。可以導(dǎo)出單個值(export 關(guān)鍵字)或?qū)ο螅╩odule.exports)。模塊路徑可以是絕對路徑或相對路徑。模塊遵循單例模式,導(dǎo)入后即被緩存,動態(tài)修改可以通過更改 module.exports 實現(xiàn)。
如何在 Node.js 中使用模塊
在 Node.js 中,模塊是獨立的文件,可以導(dǎo)出和導(dǎo)入其他模塊中的功能。使用模塊可以將代碼組織成更小的可重用單元,從而提高代碼的可維護性和模塊性。
如何導(dǎo)出模塊
要導(dǎo)出模塊,可以使用 module.exports
對象。module.exports
是一個特殊的對象,代表當前模塊的導(dǎo)出值。要導(dǎo)出一個函數(shù),可以將其分配給 module.exports
:
<code class="javascript">// my-module.js function sayHello() { console.log("Hello!"); } module.exports = sayHello;</code>
登錄后復(fù)制
如何導(dǎo)入模塊
要導(dǎo)入模塊,可以使用 require()
函數(shù)。require()
函數(shù)接收模塊的路徑或名稱作為參數(shù),并返回導(dǎo)出該模塊的對象:
<code class="javascript">// app.js const sayHello = require("./my-module"); sayHello(); // 輸出: "Hello!"</code>
登錄后復(fù)制
導(dǎo)入和導(dǎo)出多個值
可以使用 module.exports
對象導(dǎo)出多個值,也可以使用 export
關(guān)鍵字導(dǎo)出單個值或變量:
<code class="javascript">// my-module.js export function sayHello() { console.log("Hello!"); } export const name = "John";</code>
登錄后復(fù)制
<code class="javascript">// app.js import { sayHello, name } from "./my-module"; sayHello(); // 輸出: "Hello!" console.log(name); // 輸出: "John"</code>
登錄后復(fù)制
模塊路徑
模塊路徑可以是絕對路徑或相對于當前目錄的相對路徑。如果路徑?jīng)]有以 /
或 ./
開頭,則 Node.js 將嘗試從 node_modules
目錄中加載該模塊。
注意:
模塊是單例模式,這意味著同一模塊的多個副本只能導(dǎo)出一次。
導(dǎo)入模塊時,它將被編譯并緩存在內(nèi)存中,以便在以后的請求中快速訪問。
可以通過修改 module.exports
對象來在運行時動態(tài)修改模塊的導(dǎo)出值。