2011-12-09 6 views
7

Voglio essere in grado di iniziare la mia Server Express direttamente tramite:Come faccio a fare in modo che node.js esegua del codice solo se il mio file è il file in esecuzione?

$ node app.js 

Ma voglio anche in grado di richiedere il file, e lo hanno restituire l'istanza di applicazione, ma in realtà non avviare il server. Quindi posso iniziare in seguito con alcune opzioni.

Sto cercando l'equivalente di questo snippet rubino, ma in node.js.

if __FILE__ == $0 
    app.listen options[:some_custom_port] 
end 

Esiste un idioma per questo?

risposta

8

check

module.parent 

Se è null o undefined, sei il file principale. In caso contrario, sei stato require d. Il tuo module.parent è l'oggetto module del modulo che è require d.

+1

Perfetto. Inoltre, se posso permettermi, la velocità con cui attacchi le domande etichettate su coffeescript è sconcertante. Come si fa a farlo? –

+1

In modo sorprendentemente antiquato: tengo aperto http://stackoverflow.com/tags/coffeescript in una scheda e ogni volta che sono al mio computer, clicco su refresh. –

+0

Strano, questo potrebbe essere cambiato di recente? Il 'nodo' di oggi assegna' module.parent' a 'null', non' undefined' in questi casi –

Problemi correlati