Нет, это не возможно. Фактически helper.js
может потребоваться из разных сценариев, но будет выполняться только один раз. Каждый раз, когда требуется другой сценарий, он просто возвращает все, что было присвоено module.exports
с первого раза helper.js
был включен напрямую, без выполнения helper.js
.
Вы можете, однако, определить исходный сценарий, который был запущен, используя require.main
. Это не скажет вам, требуется ли index.js
other.js
, которому требуется helper.js
или, index.js
требуется helper.js
напрямую. Но это говорит вам, что исходный скрипт, который был выполнен, был выполнен index.js
.
Если вы хотите helper.js
иметь различное поведение в зависимости от того, как она называется, вы можете также экспортировать функцию из helper.js
и ожидать, что сценарий, который требует, чтобы функция для вызова его и передать его аргумент:
// helper.js
module.exports = function (arg) {
// Use arg to determine which action to take.
};
// index.js
require('helper.js')(1);
// other.js
require('helper.js')('other');