Node.js эквивалент python, если __name__ == '__main__'

Я хочу проверить, включен ли мой модуль или запускается напрямую. Как это сделать в node.js?

Ответ 1

Документы описывают другой способ сделать это, который может быть предпочтительным методом:

Когда файл запускается непосредственно из Node, для require.main устанавливается его модуль.

Чтобы воспользоваться этим, проверьте, является ли этот модуль основным модулем, и, если так, назовите свой основной код:

var fnName = function() {
    // main code
}

if (require.main === module) {
    fnName();
}

ОБНОВЛЕНИЕ: если вы используете этот код в браузере, вы получите "Ошибка ссылки", так как "требуется" не определено. Чтобы предотвратить это, используйте:

if (typeof require !== 'undefined' && require.main === module) {
    fnName();
}

Ответ 2

if (!module.parent) {
  // this is the main module
} else {
  // we were require()d from somewhere else
}

ОБНОВЛЕНИЕ: если вы используете этот код в браузере, вы получите "Ошибка ссылки", так как "модуль" не определен. Чтобы предотвратить это, используйте:

if (typeof module !== 'undefined' && !module.parent) {
  // this is the main module
} else {
  // we were require()d from somewhere else or from a browser
}