NodeJSで、requireされたのか、単体で起動されたのか判断する方法
NodeJSで、requireされたのか、単体で起動されたのか判断する方法:
expressで、テスト用に
(
単体で起動されているときは、
expressで、テスト用に
appインスタンスだけ取得したいけど、app.listenを同じファイルに書きたいって!!いう状況に陥った。(
app.jsとbin/wwwみたいに分けるのがベストっぽいけど、あまり好きじゃない。)
require.mainとmoduleで判別
requireされ、モジュールとして動いてるときは、require.main !== module単体で起動されているときは、
require.main === moduleとなる。
コード化
sample.js
if (require.main === module) {
console.log('直接起動されたよ!');
} else {
console.log('requireされて、モジュールとして動いてるよ!');
}
コメント
コメントを投稿