首頁 > web前端 > js教程 > 了解node.js中的模塊。

了解node.js中的模塊。

William Shakespeare
發布: 2025-02-09 08:53:11
原創
905 人瀏覽過

Understanding module.exports and exports in Node.js

Node.js模塊是獨立的代碼單元,可促進可重複使用性並簡化應用程序開發。 本文使用commonjs格式(node.js標準。

密鑰概念:

Node.js中的模塊化開發:模塊對於構建有效,可維護和可重複使用的node.js應用程序至關重要。

    commonjs模塊格式:
  • 本文重點介紹commonjs格式(),在node.js和npm生態系統中普遍存在。 存在其他格式(AMD,ESM,System.Register,UMD),但在此不涵蓋。
  • 導出和導入模塊:有關創建,導出和利用模塊的詳細說明。 這包括使用用於默認導出的多個值,以及了解 vorsrequire>的細微差別。 module.exports>。
  • node.js模塊格式(簡短概述):> module.exports>雖然JavaScript中存在各種模塊格式,但本指南集中於commonjs,這是Node.js的標準。 其他格式包括:AMD(異步模塊定義),ESM(ES模塊),System.Register和UMD(通用模塊定義)。 使用內置模塊:module.exportsexports
  • Node.js提供可通過
>關鍵字訪問的內置模塊。例如,File System模塊(

)提供了的功能,用於列出目錄內容:>

commonjs模塊同步加載,以其外觀順序處理。

創建和導出一個模塊:> 讓我們創建一個

>模塊:

require 然後,將其導入到fs>:readdir>中

const fs = require('fs');
const folderPath = '/home/jim/Desktop/';

fs.readdir(folderPath, (err, files) => {
  files.forEach(file => {
    console.log(file);
  });
});
登入後複製
登入後複製
>運行

>輸出“用戶:jim”。 可用於導入的

對象。

中的前綴指示一個本地文件;省略了文件擴展名。

導出多個項目: user.js

可以導出多種方法和值:
const getName = () => 'Jim';
exports.getName = getName;
登入後複製
>

index.js>根據需要在

中使用它們。 請注意,導出的名稱(此處
const user = require('./user');
console.log(`User: ${user.getName()}`);
登入後複製
)可能與原始變量名稱不同。

node index.js>替代導出語法:>> exports可以將導出定義為內聯:getName ./ require

>破壞導入:

破壞允許選擇性導入:

const getName = () => 'Jim';
const getLocation = () => 'Munich';
const dateOfBirth = '12.01.1982';

exports.getName = getName;
exports.getLocation = getLocation;
exports.dob = dateOfBirth;
登入後複製
>使用

index.js dob的默認導出 對於導出單個實體的模塊,

是優選的:>

const fs = require('fs');
const folderPath = '/home/jim/Desktop/';

fs.readdir(folderPath, (err, files) => {
  files.forEach(file => {
    console.log(file);
  });
});
登入後複製
登入後複製

module.exports vs. exports>

最初是對exports的引用。 但是,直接重新分配module.exports替換整個導出對象。 最好的做法是始終使用module.exports避免出乎意料的行為。 module.exports

結論:

模塊是有效node.js開發的基礎。本文為理解和利用它們提供了堅實的基礎。 有關更多詳細信息,請諮詢提供的資源。

FAQS:

提供的常見問題解答部分已經結構良好且內容豐富。 無需更改。

以上是了解node.js中的模塊。的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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