Electron-native-node-libraries
Electron-ネイティブノードライブラリ
前の章でノードモジュールfsを使用しました。 ここでは、Electronで使用できる他のノードモジュールをいくつか見ていきます。
OSモジュール
OSモジュールを使用すると、アプリケーションが実行されているシステムに関する多くの情報を取得できます。 以下は、アプリの作成中に役立ついくつかのメソッドです。 これらの方法は、実行しているOSに応じてアプリをカスタマイズするのに役立ちます。
Sr.No | Function & Description |
---|---|
1 |
os.userInfo([options])
|
2 |
os.platform()
|
3 |
os.homedir()
|
4 |
os.arch()
|
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を使用してフロントエンドで直接使用できる他のノードモジュールもいくつかあります。 これらのモジュールの使用法は、使用するシナリオによって異なります。