2012-12-11 13 views

risposta

44

È possibile utilizzare variabile __filename

http://nodejs.org/docs/latest/api/globals.html#globals_filename

+1

Questo è utile solo se si desidera conoscere il nome file attualmente in esecuzione il codice che sta guardando la variabile '__filename'. Se, invece, è necessario conoscere il nome dell'intero programma nodejs in esecuzione, utilizzare la risposta di @Brad di seguito. –

16

È necessario utilizzare process.argv. In ci sarà il nome dello script che è stato eseguito dalla riga di comando, che può essere diverso da quello che troverai in __filename. Quale è appropriato dipende dalle tue esigenze.

http://nodejs.org/docs/latest/api/process.html#process_process_argv

+0

come è diverso da '__filename'? Sembra lo stesso – 1252748

+1

@ 1252748 Dovresti leggere la documentazione: https://nodejs.org/docs/latest/api/modules.html#modules_filename '__filename' è il nome del file in cui ti trovi attualmente. Se ho uno script che include 5 altri moduli, ci sono 6 diverse possibilità di ciò che __filename' sarà, a seconda di dove ho controllato. Inoltre, lo script potrebbe avere un link simbolico utilizzato per eseguirlo. 'process.argv' ti darà quello che è stato effettivamente eseguito. – Brad

+0

Informazioni fantastiche. Grazie uomo. – 1252748

21

Utilizzare il metodo basename del modulo path:

var path = require('path'); 
var filename = path.basename(__filename); 
console.log(filename); 

Here è la documentazione l'esempio precedente è preso da.

Problemi correlati