2012-12-11 8 views

Odpowiedz

44
+1

Jest to przydatne tylko wtedy, gdy chcesz poznać nazwę pliku, na którym obecnie działa kod, który szuka zmiennej "__filename". Jeśli zamiast tego musisz znać nazwę całego uruchomionego programu nodejs, skorzystaj z odpowiedzi @Brada poniżej. –

16

Trzeba użyć process.argv. Będzie tam nazwa skryptu, który został wykonany z wiersza poleceń, który może być inny niż ten, który znajdziesz w __filename. To, co jest odpowiednie, zależy od Twoich potrzeb.

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

+0

jak to się różni od '__filename'? Wygląda tak samo. – 1252748

+1

@ 1252748 Powinieneś przeczytać dokumentację: https://nodejs.org/docs/latest/api/modules.html#modules_filename '__filename' to nazwa pliku, w którym aktualnie jesteś. Jeśli mam skrypt, który zawiera 5 innych modułów, istnieje 6 różnych możliwości tego, czym będzie "__filename", w zależności od tego, gdzie sprawdziłem. Ponadto skrypt może mieć dowiązanie symboliczne, które zostało użyte do jego wykonania. 'process.argv' da ci to, co faktycznie zostało uruchomione. – Brad

+0

Niesamowite informacje. Dzięki. – 1252748

21

Metodą basename modułu path:

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

Here jest Dokumentacja powyżej przykład jest z.

Powiązane problemy