node.js equivalente a python’s se __name__ == ‘__main__’

Vorrei verificare se il mio modulo è stato incluso o eseguito direttamente. Come posso farlo in node.js?

I documenti descrivono un altro modo per farlo, che può essere il metodo preferito:

Quando un file viene eseguito direttamente dal nodo, require.main è impostato sul suo modulo.

Per approfittare di questo, controlla se questo modulo è il modulo principale e, in tal caso, chiama il tuo codice principale:

var fnName = function(){ // main code } if (require.main === module) { fnName(); } 

EDIT: se si utilizza questo codice in un browser, si otterrà un “errore di riferimento” poiché “require” non è definito. Per evitare ciò, utilizzare:

 if (typeof require != 'undefined' && require.main==module) { fnName(); } 
 if (!module.parent) { // this is the main module } else { // we were require()d from somewhere else } 

EDIT: se si utilizza questo codice in un browser, si otterrà un “errore di riferimento” poiché “modulo” non è definito. Per evitare ciò, utilizzare:

 if (typeof module != 'undefined' && !module.parent) { // this is the main module } else { // we were require()d from somewhere else or from a browser }