当前位置: 代码迷 >> JavaScript >> Node.js 中的每个模块是哪种格式?
  详细解决方案

Node.js 中的每个模块是哪种格式?

热度:41   发布时间:2023-06-05 16:03:15.0

在 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 作为其参数。 前者是键/值格式,后者是函数定义格式。 哪一个?

您的代码示例包含两个不同但相关的内容。 第一个是模块对象, 描述。 第二个是节点在内部做的事情:将一个模块包装在一个匿名函数中,除其他外,这有助于将模块中的顶级变量保持在该模块的范围内,而不是在全局范围内公开它们。 描述 此模块包装行为。

  相关解决方案