NodeJSで、requireされたのか、単体で起動されたのか判断する方法

NodeJSで、requireされたのか、単体で起動されたのか判断する方法:

expressで、テスト用にappインスタンスだけ取得したいけど、app.listenを同じファイルに書きたいって!!いう状況に陥った。

(app.jsbin/wwwみたいに分けるのがベストっぽいけど、あまり好きじゃない。)


require.mainmoduleで判別

requireされ、モジュールとして動いてるときは、require.main !== module

単体で起動されているときは、require.main === moduleとなる。


コード化

sample.js
if (require.main === module) { 
  console.log('直接起動されたよ!'); 
} else { 
  console.log('requireされて、モジュールとして動いてるよ!'); 
} 

コメント

このブログの人気の投稿

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-04-30 23:37:32 RSSフィード2021-04-30 23:00 分まとめ(42件)

投稿時間:2023-02-05 02:09:04 RSSフィード2023-02-05 02:00 分まとめ(9件)