George Bailey George Bailey - 4 months ago 17
Node.js Question

Node.JS: Detect if called through require or directly by command line

How can I detect whether my Node.JS file was called using SH:

node path-to-file
or JS:
require('path-to-file')
?

This is the Node.JS equivalent to my previous question in Perl: How can I run my Perl script only if it wasn't loaded with require?

Answer
if (require.main === module) {
    console.log('called directly');
} else {
    console.log('required as a module');
}

See documentation for this here: http://nodejs.org/docs/latest/api/all.html#all_accessing_the_main_module

Comments