В каком формате находится каждый модуль в Node.js? - PullRequest
0 голосов
/ 03 марта 2019

В 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
})

где функция принимает параметры экспорта, require, module, __filename и __dirname.Первый в формате ключ / значение, а второй в формате определения функции.Какой это?

1 Ответ

0 голосов
/ 03 марта 2019

Ваши примеры кода имеют две разные, но взаимосвязанные вещи.Первым является объект модуля, который описан здесь .Второе - это то, что узлы делают внутренне: обертывание модуля в анонимную функцию, которая, помимо прочего, помогает держать переменные верхнего уровня в вашем модуле в рамках этого модуля, а не раскрывать их глобально.Это поведение обертывания модуля описано здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...