2016-11-04 19 views

Odpowiedz

25

nie jestem nie wiem dlaczego, ale ktoś dodał odpowiedź, a potem szybko ją usunął po ... Byłem wystarczająco szybki, aby go złapać, a po sprawdzeniu, jest to najkrótszy i najskuteczniejszy sposób robienia tego, o co wcześniej pytałem:

require("os").userInfo().username

Jedynym problemem jest to, że w systemie Windows 10 zwraca pierwszą nazwę konta właściciela, które zostało użyte (tylko heads up). Cała reszta działa zupełnie dobrze!

+0

Zrobiłem, ale tylko dlatego, że jest dostępne tylko w wersji 7 nodejs. jest to nowa funkcja, której prawdopodobnie nie można użyć w elektronach. jeśli to działa, to dobrze! – corn3lius

+1

Tak, to prawda! Dziękuję bardzo! – drowZ

+0

To nie jest poprawne, węzeł jest wykonywany po stronie serwera, więc da ci informacje o twoim serwerze, a nie o kliencie. –

2
one object you will get username 
var os= require('os') 
console.log(os.userInfo()); 
+2

To daje nazwę hosta serwera, a nie klienta. –

+0

Mam kod aktualizacji. –

0

Jeśli to nie musi być poprzeczne systemy operacyjne (tylko * nix based), jednym ze sposobów można zrobić (należy pamiętać, że exec może być potencjalnie niebezpieczne w użyciu, jeśli parametryzacji go):

const Promise = require('bluebird'), 
     exec = Promise.promisify(require('child_process').exec); 

exec('id -un').then((username)=> { 
// do something about it 
}); 

Jeśli chcesz użyć Bluebird do obietnic, nie zapomnij o: npm install bluebird --save

Powiązane problemy