Я хочу проверить, включен ли мой модуль или запускается напрямую. Как это сделать в node.js?
Node.js эквивалент python, если __name__ == '__main__'
Ответ 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
}