Electron -本地节点库

566次阅读  |  发布于4年以前

之前我们使用了节点模块fs。现在我们来看看其他一些节点模块,它们可以和Electron一起使用。

OS module 操作系统模块

使用OS模块,我们可以获得关于应用程序正在运行的系统的大量信息。下面是一些在创建应用程序时提供帮助的方法。这些方法帮助我们根据运行的操作系统定制应用程序。

功能和描述
1 os.userInfo([options]) 该os.userInfo()方法返回关于当前有效用户的信息。这些信息可以用于为用户个性化应用程序,甚至不需要显式地询问信息。
2 os.platform() 该方法返回一个识别操作系统平台的字符串。这可以用于根据用户操作系统定制应用程序。
3 os.homedir() 该方法以字符串的形式返回当前用户的主目录。通常,所有用户的configs都驻留在用户的主目录中。这可以用在我们的应用中。
4 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 Module 网络模块

net模块用于app中的网络相关工作,我们可以使用这个模块创建服务器和socket连接。一般来说,建议使用npm的包装器模块,而不是使用网络模块进行联网相关任务。

下面的表列出了模块中最有用的方法:

功能和描述
1 net.createServer([options][, connectionListener]) 创建一个新的TCP服务器。connectionListener参数自动设置为“连接”事件的侦听器。
2 net.createConnection(options[, connectionListener]) 一个factory method,,返回一个新的'net。连接到提供的地址和端口。
3 net.Server.listen(port[, host][, backlog][, callback]) 开始接受指定端口和主机上的连接。如果省略了主机,服务器将接受指向任何IPv4地址的连接。
4 net.Server.close([callback]) 最后关闭时,所有连接结束,服务器发出一个“关闭”事件。
5 net.Socket.connect(port[, host][, connectListener]) 打开给定套接字的连接。如果端口和主机是给定的,那么套接字将作为TCP套接字打开。

net模块还提供了一些其他方法。要获得更全面的列表,请参见

https://www.tutorialspoint.com/nodejs/nodejs_net_module.htm。

现在,让我们创建一个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文件如下

<!DOCTYPE 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前端。这些模块的使用取决于使用它们的场景。

本文翻译转载自www.tutorialspoint.com

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8