Electron - natywne biblioteki węzłów

W poprzednim rozdziale użyliśmy modułu węzła, fs. Przyjrzymy się teraz innym modułom węzłów, których możemy używać z Electronem.

Moduł systemu operacyjnego

Korzystając z modułu OS, możemy uzyskać wiele informacji o systemie, na którym działa nasza aplikacja. Poniżej przedstawiono kilka metod, które pomagają podczas tworzenia aplikacji. Te metody pomagają nam dostosować aplikacje do systemu operacyjnego, na którym działają.

Sr.No Opis funkcji
1

os.userInfo([options])

Plik os.userInfo()metoda zwraca informacje o aktualnie aktywnym użytkowniku. Informacje te mogą służyć do personalizacji aplikacji dla użytkownika, nawet bez wyraźnego pytania o informacje.

2

os.platform()

Plik os.platform()metoda zwraca ciąg znaków identyfikujący platformę systemu operacyjnego. Można to wykorzystać do dostosowania aplikacji do systemu operacyjnego użytkownika.

3

os.homedir()

Plik os.homedir()metoda zwraca katalog domowy bieżącego użytkownika jako ciąg. Ogólnie konfiguracje wszystkich użytkowników znajdują się w katalogu domowym użytkownika. Więc można to wykorzystać w tym samym celu w naszej aplikacji.

4

os.arch()

Plik os.arch()metoda zwraca ciąg znaków identyfikujący architekturę procesora systemu operacyjnego. Można to wykorzystać podczas uruchamiania na egzotycznych architekturach w celu dostosowania aplikacji do tego systemu.

5

os.EOL

Stała łańcuchowa definiująca znacznik końca linii specyficzny dla systemu operacyjnego. Powinno to być używane przy kończeniu wierszy w plikach w systemie operacyjnym hosta.

Używając tego samego pliku main.js i następującego pliku HTML, możemy wydrukować te właściwości na ekranie -

<html>
   <head>
      <title>OS Module</title>
   </head>
   
   <body>
      <script>
         let os = require('os')
         document.write('User Info: ' + JSON.stringify(os.userInfo()) + '<br>' + 
            'Platform: ' + os.platform() + '<br>' + 
            'User home directory: ' +  os.homedir() + '<br>' + 
            'OS Architecture: ' + os.arch() + '<br>')
      </script>
   </body>
</html>

Teraz uruchom aplikację za pomocą następującego polecenia -

$ electron ./main.js

Powyższe polecenie wygeneruje następujące dane wyjściowe -

User Info: {"uid":1000,"gid":1000,"username":"ayushgp","homedir":"/home/ayushgp",
   "shell":"/usr/bin/zsh"}
Platform: linux
User home directory: /home/ayushgp
OS Architecture: x64

Moduł sieciowy

Moduł sieciowy służy do pracy związanej z siecią w aplikacji. Za pomocą tego modułu możemy tworzyć zarówno serwery, jak i połączenia typu socket. Generalnie do zadań związanych z siecią zaleca się użycie modułu opakowującego z npm zamiast modułu net.

Poniższe tabele zawierają listę najbardziej przydatnych metod z modułu -

Sr.No Opis funkcji
1

net.createServer([options][, connectionListener])

Tworzy nowy serwer TCP. Argument connectionListener jest automatycznie ustawiany jako nasłuchiwanie zdarzenia „connection”.

2

net.createConnection(options[, connectionListener])

Metoda fabryczna, która zwraca nowy „net.Socket” i łączy się z podanym adresem i portem.

3

net.Server.listen(port[, host][, backlog][, callback])

Rozpocznij akceptowanie połączeń na określonym porcie i hoście. Jeśli host zostanie pominięty, serwer będzie akceptował połączenia kierowane na dowolny adres IPv4.

4

net.Server.close([callback])

Ostatecznie zamknięte, gdy wszystkie połączenia zostaną zakończone, a serwer wyemituje zdarzenie „zamknij”.

5

net.Socket.connect(port[, host][, connectListener])

Otwiera połączenie dla danego gniazda. Jeśli podano port i host, gniazdo zostanie otwarte jako gniazdo TCP.

Moduł net zawiera również kilka innych metod. Aby uzyskać bardziej wyczerpującą listę, zobacz to .

Teraz stwórzmy aplikację electron, która wykorzystuje moduł net do tworzenia połączeń z serwerem. Będziemy musieli stworzyć nowy plik,server.js -

var net = require('net');
var server = net.createServer(function(connection) { 
   console.log('Client Connected');
   
   connection.on('end', function() {
      console.log('client disconnected');
   });
   
   connection.write('Hello World!\r\n');
   connection.pipe(connection);
});

server.listen(8080, function() { 
   console.log('Server running on http://localhost:8080');
});

Używając tego samego pliku main.js, zamień plik HTML na następujący -

<html>
   <head>
      <title>net Module</title>
   </head>
   
   <body>
      <script>
         var net = require('net');
         var client = net.connect({port: 8080}, function() {
            console.log('Connection established!');  
         });
         
         client.on('data', function(data) {
            document.write(data.toString());
            client.end();
         });
         
         client.on('end', function() { 
            console.log('Disconnected :(');
         });
      </script>
   </body>
</html>

Uruchom serwer za pomocą następującego polecenia -

$ node server.js

Uruchom aplikację za pomocą następującego polecenia -

$ electron ./main.js

Powyższe polecenie wygeneruje następujące dane wyjściowe -

Zwróć uwagę, że łączymy się z serwerem automatycznie i automatycznie się rozłączamy.

Mamy również kilka innych modułów węzłów, których możemy używać bezpośrednio na front-endzie za pomocą Electron. Użycie tych modułów zależy od scenariusza, w którym ich używasz.