本文概述
借助Electron框架, 你可以将HTML, CSS和JavaScript与Chromium和Node.js结合使用来构建你的应用程序。作为本机应用程序, 如果要向用户显示此信息, 可能需要访问有关操作系统或硬件的一些基本信息。
在本文中, 你将学习如何访问Electron中有关硬件和操作系统的基本信息。
操作系统
为了获得有关操作系统的信息, 我们将使用os模块, 该模块可以使用以下命令加载:
var operativeSystemModule = require("os");
// Call any os method of os node.js here
获取网络接口信息
使用os.networkInterfaces方法获取有关网络设备的信息。
var os = require("os");
console.log(os.networkInterfaces());
你应该看到类似的输出:
获取CPU信息
使用os.cpus方法检索处理器名称, 速度等名称。
var os = require("os");
os.cpus();
/*
This method will return an array
with the following structure (Note that the first item in the array has been stringified which is an object with the information)
*/
{
"model":"Intel(R) Atom(TM) CPU Z3735F @ 1.33GHz", "speed":1333, "times":{
"user":842156, "nice":0, "sys":576953, "idle":3697421, "irq":32656
}
}
获取操作系统临时文件路径
要写入临时文件, 你需要将它们保存在os的临时文件文件夹中, 不必担心以后再删除它们, 因此请使用tmpDir来获取os的临时文件文件夹。
var os = require("os");
os.tmpDir(); // change acording to your os and settings
获取操作系统架构
使用os.arch方法检索OS体系结构。
var os = require("os");
os.arch(); 'x64', 'arm' and 'ia32'
获取内存量
从操作系统中检索总内存量(以字节为单位)。
var os = require("os");
var bytesAvailable = os.totalmem(); // returns number in bytes
// 1 mb = 1048576 bytes
console.log("Total memory available MB :" + (bytesAvailable/1048576) );
要获取内存中可用(空闲)字节的数量, 请使用os.freemem方法。
var os = require("os");
var mbTotal = ((os.totalmem())/1048576);
var mbFree = ((os.freemem())/1048576);
console.log("There are "+mbFree+"mb free in the memory of "+mbTotal+"mb in total");
获取操作系统名称
你可以使用os.type方法检索操作系统名称, 并使用os.platform检索操作系统平台。
var os = require("os");
os.type(); // Linux, Darwin or Window_NT
os.platform(); // 'darwin', 'freebsd', 'linux', 'sunos' or 'win32'
” os”模块提供了一些与操作系统相关的基本实用工具功能, 你可以在此处阅读更多有用的方法来阅读node.js os模块的文档。
硬盘驱动器
要获取有关系统上硬盘驱动器的信息, 你将需要依赖第三方库。我们正在谈论驱动列表模块。该模块列出了所有主要操作系统中计算机中所有已连接的驱动器。
请注意, 此模块不需要管理员特权即可在任何受支持的操作系统中获取驱动器。它支持以下平台:
- 视窗。
- GNU / Linux发行版包括util-linux和udev。
- Mac OSX。
要在你的项目中安装此模块, 请在终端中执行以下命令:
npm install drivelist
安装后, 你将需要带Javascript的drivelist模块。以下示例将在控制台中列出系统的所有驱动器:
const drivelist = require('drivelist');
drivelist.list((error, drives) => {
if (error) {
throw error;
}
drives.forEach((drive) => {
console.log(drive);
});
});
/** Console output
Mac OS X
[
{
device: '/dev/disk0', description: 'GUID_partition_scheme', size: 68719476736, mountpoints: [
{
path: '/'
}
], raw: '/dev/rdisk0', protected: false, system: true
}
]
GNU/Linux
[
{
device: '/dev/sda', description: 'WDC WD10JPVX-75J', size: 68719476736, mountpoints: [
{
path: '/'
}
], raw: '/dev/sda', protected: false, system: true
}
]
Windows
[
{
device: '\\\\.\\PHYSICALDRIVE0', description: 'WDC WD10JPVX-75JC3T0', size: 68719476736, mountpoints: [
{
path: 'C:'
}
], raw: '\\\\.\\PHYSICALDRIVE0', protected: false, system: true
}
]
**/
编码愉快!
评论前必须登录!
注册