Electron - Bibliothèques de nœuds natifs

Nous avons utilisé un module de nœud, fs, dans le chapitre précédent. Nous allons maintenant examiner quelques autres modules de nœuds que nous pouvons utiliser avec Electron.

Module OS

En utilisant le module OS, nous pouvons obtenir de nombreuses informations sur le système sur lequel s'exécute notre application. Voici quelques méthodes qui aident pendant la création de l'application. Ces méthodes nous aident à personnaliser les applications en fonction du système d'exploitation sur lequel elles s'exécutent.

Sr.Non Description de la fonction
1

os.userInfo([options])

le os.userInfo()La méthode renvoie des informations sur l'utilisateur actuellement effectif. Ces informations peuvent être utilisées pour personnaliser l'application pour l'utilisateur même sans demander explicitement des informations.

2

os.platform()

le os.platform()La méthode renvoie une chaîne identifiant la plate-forme du système d'exploitation. Cela peut être utilisé pour personnaliser l'application en fonction du système d'exploitation de l'utilisateur.

3

os.homedir()

le os.homedir()La méthode renvoie le répertoire personnel de l'utilisateur actuel sous forme de chaîne. En règle générale, les configurations de tous les utilisateurs résident dans le répertoire personnel de l'utilisateur. Cela peut donc être utilisé dans le même but pour notre application.

4

os.arch()

le os.arch()La méthode renvoie une chaîne identifiant l'architecture du processeur du système d'exploitation. Cela peut être utilisé lors de l'exécution sur des architectures exotiques pour adapter votre application à ce système.

5

os.EOL

Constante de chaîne définissant le marqueur de fin de ligne spécifique au système d'exploitation. Cela doit être utilisé chaque fois que vous terminez des lignes dans des fichiers sur le système d'exploitation hôte.

En utilisant le même fichier main.js et le fichier HTML suivant, nous pouvons imprimer ces propriétés à l'écran -

<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>

Maintenant, exécutez l'application à l'aide de la commande suivante -

$ electron ./main.js

La commande ci-dessus générera la sortie suivante -

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

Module réseau

Le module net est utilisé pour les travaux liés au réseau dans l'application. Nous pouvons créer à la fois des serveurs et des connexions socket en utilisant ce module. En général, l'utilisation du module wrapper de npm est recommandée par rapport à l'utilisation du module net pour les tâches liées au réseau.

Les tableaux suivants répertorient les méthodes les plus utiles du module -

Sr.Non Description de la fonction
1

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

Crée un nouveau serveur TCP. L'argument connectionListener est automatiquement défini comme écouteur pour l'événement 'connection'.

2

net.createConnection(options[, connectionListener])

Une méthode de fabrique, qui renvoie un nouveau 'net.Socket' et se connecte à l'adresse et au port fournis.

3

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

Commencez à accepter les connexions sur le port et l'hôte spécifiés. Si l'hôte est omis, le serveur acceptera les connexions dirigées vers n'importe quelle adresse IPv4.

4

net.Server.close([callback])

Finalement fermé lorsque toutes les connexions sont terminées et que le serveur émet un événement «close».

5

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

Ouvre la connexion pour un socket donné. Si le port et l'hôte sont indiqués, alors le socket sera ouvert en tant que socket TCP.

Le module net est également fourni avec quelques autres méthodes. Pour obtenir une liste plus complète, consultez ceci .

Maintenant, créons une application électronique qui utilise le module net pour créer des connexions au serveur. Nous devrons créer un nouveau fichier,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');
});

En utilisant le même fichier main.js, remplacez le fichier HTML par ce qui suit -

<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>

Exécutez le serveur à l'aide de la commande suivante -

$ node server.js

Exécutez l'application à l'aide de la commande suivante -

$ electron ./main.js

La commande ci-dessus générera la sortie suivante -

Observez que nous nous connectons au serveur automatiquement et que nous nous déconnectons également automatiquement.

Nous avons également quelques autres modules de nœuds que nous pouvons utiliser directement sur le front-end en utilisant Electron. L'utilisation de ces modules dépend du scénario dans lequel vous les utilisez.