我们在前一章中使用了节点模块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
网络模块用于应用程序中与网络相关的工作.我们可以使用此模块创建服务器和套接字连接.通常,建议使用npm的包装模块,而不是使用网络模块进行网络相关任务.
下表列出了模块中最有用的方法 :
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模块创建与服务器的连接的应用程序.我们需要创建一个新文件, 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.这些模块的使用取决于场景你使用它们.