簡體   English   中英

Node.js 中的每個模塊是哪種格式?

[英]Which format is each module in in Node.js?

在 Node.js 中,每個模塊都采用具有以下屬性的對象格式:

Module {
  id: '.',
  exports: {},
  parent: null,
  filename: 'C:\\Users\\Node\\first-app\\app.js',
  loaded: false,
  children: [],
  paths:
   [ 'C:\\Users\\app\\node_modules',
     'C:\\Users\\\\Node\\node_modules',
     'C:\\Users\\node_modules',
     'C:\\Users\\Documents\\node_modules',
     'C:\\Users\\node_modules',
     'C:\\Users\\node_modules',
     'C:\\node_modules' ] }

但是,每個模塊也是這樣的函數格式:

(function (exports, require, module, __filename, __dirname) { 
//content of the function
})

該函數將exports、require、module、__filename 和__dirname 作為其參數。 前者是鍵/值格式,后者是函數定義格式。 哪一個?

您的代碼示例包含兩個不同但相關的內容。 第一個是模塊對象, 這里描述。 第二個是節點在內部做的事情:將一個模塊包裝在一個匿名函數中,除其他外,這有助於將模塊中的頂級變量保持在該模塊的范圍內,而不是在全局范圍內公開它們。 此處描述 此模塊包裝行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM