Electron-native-node-libraries

提供:Dev Guides
移動先:案内検索

Electron-ネイティブノードライブラリ

前の章でノードモジュールfsを使用しました。 ここでは、Electronで使用できる他のノードモジュールをいくつか見ていきます。

OSモジュール

OSモジュールを使用すると、アプリケーションが実行されているシステムに関する多くの情報を取得できます。 以下は、アプリの作成中に役立ついくつかのメソッドです。 これらの方法は、実行しているOSに応じてアプリをカスタマイズするのに役立ちます。

Sr.No Function & Description
1

os.userInfo([options])

  • os.userInfo()*メソッドは、現在有効なユーザーに関する情報を返します。 この情報は、明示的に情報を要求しなくても、ユーザー向けにアプリケーションをパーソナライズするために使用できます。
2

os.platform()

  • os.platform()*メソッドは、オペレーティングシステムプラットフォームを識別する文字列を返します。 これを使用して、ユーザーOSに応じてアプリをカスタマイズできます。
3

os.homedir()

  • os.homedir()*メソッドは、現在のユーザーのホームディレクトリを文字列として返します。 通常、すべてのユーザーの構成は、ユーザーのホームディレクトリにあります。 したがって、これはアプリの同じ目的で使用できます。
4

os.arch()

  • os.arch()*メソッドは、オペレーティングシステムのCPUアーキテクチャを識別する文字列を返します。 これは、エキゾチックなアーキテクチャで実行しているときにアプリケーションをそのシステムに適合させるために使用できます。
5

os.EOL

オペレーティングシステム固有の行末マーカーを定義する文字列定数。 これは、ホストOS上のファイル内の行を終了するたびに使用する必要があります。

同じmain.jsファイルと次のHTMLファイルを使用して、画面にこれらのプロパティを印刷できます-

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

今、次のコマンドを使用してアプリを実行します-

$ electron ./main.js

上記のコマンドは、次の出力を生成します-

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

ネットモジュール

netモジュールは、アプリでのネットワーク関連の作業に使用されます。 このモジュールを使用して、サーバーとソケットの両方の接続を作成できます。 一般に、ネットワーク関連のタスクにnetモジュールを使用するよりも、npmのラッパーモジュールを使用することをお勧めします。

次の表は、モジュールから最も有用なメソッドをリストします-

Sr.No Function & Description
1

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

新しいTCPサーバーを作成します。 connectionListener引数は、「connection」イベントのリスナーとして自動的に設定されます。

2

net.createConnection(options[, connectionListener])

新しい 'net.Socket’を返し、指定されたアドレスとポートに接続するファクトリメソッド。

3

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

指定されたポートとホストで接続の受け入れを開始します。 ホストを省略すると、サーバーは任意のIPv4アドレスへの接続を受け入れます。

4

net.Server.close([callback])

すべての接続が終了し、サーバーが「close」イベントを発行すると、最終的に閉じられます。

5

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

指定されたソケットの接続を開きます。 ポートとホストが指定されている場合、ソケットはTCPソケットとして開かれます。

netモジュールには、他にもいくつかの方法があります。 より包括的なリストを取得するには、link:/nodejs/nodejs_net_module [this]を参照してください。

次に、netモジュールを使用してサーバーへの接続を作成するelectronアプリを作成します。 新しいファイル 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');
});

同じmain.jsファイルを使用して、HTMLファイルを次のように置き換えます-

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

次のコマンドを使用してサーバーを実行します-

$ node server.js

次のコマンドを使用してアプリケーションを実行します-

$ electron ./main.js

上記のコマンドは、次の出力を生成します-

ネットモジュール

サーバーに自動的に接続し、自動的に切断されることにも注意してください。

また、Electronを使用してフロントエンドで直接使用できる他のノードモジュールもいくつかあります。 これらのモジュールの使用法は、使用するシナリオによって異なります。