equivalente de node.js de python if __name__ == '__main__' [duplicado]

Resuelto nornagon asked hace 13 años • 2 respuestas

Me gustaría comprobar si mi módulo se incluye o se ejecuta directamente. ¿Cómo puedo hacer esto en node.js?

nornagon avatar Feb 13 '11 08:02 nornagon
Aceptado

Los documentos de nodejs describen otra forma de hacer esto, que puede ser el método preferido:

Cuando un archivo se ejecuta directamente desde Node, require.main se configura en su módulo.

Para aprovechar esto, verifique si este módulo es el módulo principal y, de ser así, llame a su código principal:

function myMain() {
    // main code
}

if (require.main === module) {
    myMain();
}

EDITAR: si utiliza este código en un navegador, obtendrá un "Error de referencia" ya que "requerir" no está definido. Para evitar esto, utilice:

if (typeof require !== 'undefined' && require.main === module) {
    myMain();
}
Stephen Emslie avatar May 22 '2011 19:05 Stephen Emslie
if (!module.parent) {
  // this is the main module
} else {
  // we were require()d from somewhere else
}

EDITAR: si utiliza este código en un navegador, obtendrá un "Error de referencia" ya que "módulo" no está definido. Para evitar esto, utilice:

if (typeof module !== 'undefined' && !module.parent) {
  // this is the main module
} else {
  // we were require()d from somewhere else or from a browser
}
nornagon avatar Feb 13 '2011 01:02 nornagon