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 }