Electron 本机节点库基础教程文档
收录于 2023-04-20 00:10:05 · بالعربية · English · Español · हिंदीName · 日本語 · Русский язык · 中文繁體
我们在上一章中使用了一个节点模块 fs。我们现在将看看可以与 Electron 一起使用的其他一些节点模块。
操作系统模块
使用 OS 模块,我们可以获得有关运行应用程序的系统的大量信息。以下是一些在创建应用程序时有帮助的方法。这些方法帮助我们根据应用程序运行的操作系统自定义应用程序。
Sr.No | 功能和描述 |
1 |
os.userInfo([options])
os.userInfo() 方法返回有关当前有效用户的信息。即使没有明确要求信息,此信息也可用于为用户个性化应用程序。
|
2 |
os.platform()
os.platform() 方法返回一个标识操作系统平台的字符串。这可用于根据用户操作系统自定义应用程序。
|
3 |
os.homedir()
os.homedir() 方法以字符串形式返回当前用户的主目录.通常,所有用户的配置都驻留在用户的主目录中。所以这可以用于我们的应用程序的相同目的。
|
4 |
os.arch()
os.arch() 方法返回一个标识操作系统 CPU 架构的字符串。这可用于在异国架构上运行时使您的应用程序适应该系统。
|
5 |
os.EOL
定义操作系统特定的行尾标记的字符串常量。这应该在主机操作系统上的文件中结束行时使用。
|
使用相同的 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 模块用于应用程序中的网络相关工作。我们可以使用这个模块创建服务器和套接字连接。一般来说,推荐使用 npm 的 wrapper 模块,而不是使用 net 模块来完成网络相关的任务。
下表列出了模块中最有用的方法-
Sr.No | 功能和描述 |
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])
当所有连接都结束并且服务器发出"关闭"事件时最终关闭。
|
5 |
net.Socket.connect(port[, host][, connectListener])
打开给定套接字的连接。如果给出了端口和主机,则套接字将作为 TCP 套接字打开。
|
net 模块也带有一些其他方法。要获得更全面的列表,请参阅this。
现在,让我们创建一个Electron应用程序,它使用 net 模块来创建与服务器的连接。我们需要创建一个新文件,
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 直接在前端使用它们。这些模块的用法取决于您使用它们的场景。