Согласно документации здесь https://nodejs.org/api/modules.html#modules_accessing_the_main_module:
Когда файл запускается непосредственно из Node.js, require.main
устанавливается на module
.Это означает, что можно определить, был ли файл запущен напрямую, путем тестирования require.main === module
.
Для файла foo.js
это будет true
, если он выполняется через node foo.js
, но false
если он запускается require('./foo')
.
Я использую веб-пакет для переноса моих сценариев nodejs.
Что я могу сделать, чтобы иметь подобное поведение для моей точки входа в веб-пакет?
Или, другими словами, какое условие я могу проверить, чтобы какой-то код в foo.js
запускался, только если переданный скрипт является результатом webpack --entry foo.js
, но не запускался, если использовался require('./foo')
?