Node.js require はそのファイルを実行する

index.js では hoge.js を require しています。

const {hoge} = require('./hoge')

console.log(hoge())
const hoge = () => {
  return 'hoge'
}
console.log('hoge')

module.exports = {
  hoge
}

node index.js を実行した場合、「hoge」という文字列は何回出力されるでしょうか。

答えは二回です。

1回目は require('./hoge’) のタイミングで、hoge.js 内の console.log('hoge’) が実行されます。

2回目は index.js 内の console.log(hoge()) です。

このように、require されたファイルはその時点で実行されるので注意です。