用Node.js轻松获取电脑配置信息

前言

在日常的开发工作中,我们有时需要了解电脑的硬件配置,比如CPU型号、内存大小、磁盘类型等。这些信息对于性能优化、系统配置等场景非常重要。

今天,我们就来聊聊如何用Node.js轻松获取这些信息,以后就不用去查找,直接运行js脚本即可。

为什么选择Node.js?

Node.js作为一个强大的JavaScript运行时环境,不仅可以用来构建Web服务器,还可以通过各种第三方库来获取系统信息。相比其他语言,Node.js的语法简洁,上手容易,而且社区资源丰富,有很多现成的库可以使用,当然你会其他语言,可以使用其他语言的第三方库来实现。

如何获取电脑配置信息?

这里,我们推荐一个非常实用的第三方库------systeminformation。这个库可以方便地获取电脑的CPU、内存、操作系统、磁盘和网络接口等信息,使用起来也是非常简单。

安装库

首先,我们需要安装这个库。打开终端,输入以下命令来安装依赖

复制代码
npm install systeminformation

获取CPU信息

CPU是电脑的大脑,了解它的型号、速度、核心数等信息非常重要。

在开发高性能应用时,了解CPU的核心数和速度可以帮助我们优化代码,比如是否需要使用多线程处理,我们可以用以下代码来获取CPU信息。

javascript 复制代码
import si from 'systeminformation';

async function getCpuInfo() {
  try {
    const cpu = await si.cpu();
    console.log('CPU信息:');
    console.log(`- 制造商:${cpu.manufacturer}`);
    console.log(`- 品牌:${cpu.brand}`);
    console.log(`- 速度:${cpu.speed}GHz`);
    console.log(`- 核心数:${cpu.cores}`);
    console.log(`- 物理核心数:${cpu.physicalCores}`);
  } catch (error) {
    console.error('获取CPU信息出错:', error);
  }
}

运行这段代码,你就可以看到类似以下的输出,是不是很简单,

diff 复制代码
CPU信息:
- 制造商:Intel
- 品牌:Core™ i5-6500
- 速度:3.2GHz
- 核心数:4
- 物理核心数:4

获取内存信息

内存是电脑的临时存储空间,了解内存的总量和空闲量可以帮助我们判断电脑的性能,可以运行多大的项目这对我们开发者来说至关重要,以下是获取内存信息的代码,在开发内存密集型应用时,了解内存的空闲量可以帮助我们判断是否需要优化代码,避免内存溢出。

javascript 复制代码
async function getMemInfo() {
  try {
    const mem = await si.mem();
    console.log('内存信息:');
    console.log(`- 总计:${(mem.total / 1024 / 1024 / 1024).toFixed(2)}GB`);
    console.log(`- 空闲:${(mem.free / 1024 / 1024 / 1024).toFixed(2)}GB`);
  } catch (error) {
    console.error('获取内存信息出错:', error);
  }
}

输出结果可能如下:

diff 复制代码
内存信息:
- 总计:15.91GB
- 空闲:5.24GB

获取操作系统信息

操作系统是电脑的核心软件,了解它的平台、发行版和版本可以帮助我们进行系统配置。以下是获取操作系统信息的代码:

javascript 复制代码
async function getOsInfo() {
  try {
    const osInfo = await si.osInfo();
    console.log('操作系统信息:');
    console.log(`- 平台:${osInfo.platform}`);
    console.log(`- 发行版:${osInfo.distro}`);
    console.log(`- 版本:${osInfo.release}`);
  } catch (error) {
    console.error('获取操作系统信息出错:', error);
  }
}

输出结果可能如下:

diff 复制代码
操作系统信息:
- 平台:Windows
- 发行版:Microsoft Windows 10 专业版
- 版本:10.0.19045

获取磁盘信息

磁盘是电脑的长期存储设备,了解磁盘的类型、名称、接口类型和大小可以帮助我们进行存储管理。以下是获取磁盘信息的代码:

javascript 复制代码
async function getDiskInfo() {
  try {
    const disks = await si.diskLayout();
    console.log('磁盘信息:');
    disks.forEach((disk, i) => {
      console.log(`- 磁盘 ${i}:`);
      console.log(`  - 类型:${disk.type}`);
      console.log(`  - 名称:${disk.name}`);
      console.log(`  - 接口类型:${disk.interfaceType}`);
      console.log(`  - 大小:${(disk.size / 1024 / 1024 / 1024).toFixed(2)}GB`);
    });
  } catch (error) {
    console.error('获取磁盘信息出错:', error);
  }
}

输出结果如下:

markdown 复制代码
磁盘信息:
- 磁盘 0:
  - 类型:HD
  - 名称:WDC WD10EZEX-00WN4A0
  - 接口类型:SATA
  - 大小:931.51GB

- 磁盘 1:
  - 类型:SSD
  - 名称:SAMSUNG MZNTE128HMGR-00000
  - 接口类型:SATA
  - 大小:119.24GB

获取网络接口信息

网络接口是电脑连接网络的通道,了解网络接口的名称、MAC地址、IPv4地址和IPv6地址可以帮助我们进行网络配置。以下是获取网络接口信息的代码:

javascript 复制代码
async function getNetworkInfo() {
  try {
    const networkInterfaces = await si.networkInterfaces();
    console.log('网络接口信息:');
    networkInterfaces.forEach((iface, i) => {
      console.log(`- 接口 ${i}:`);
      console.log(`  - 名称:${iface.iface}`);
      console.log(`  - 型号:${iface.model}`);
      console.log(`  - MAC地址:${iface.mac}`);
      console.log(`  - IPv4地址:${iface.ip4}`);
      console.log(`  - IPv6地址:${iface.ip6}`);
    });
  } catch (error) {
    console.error('获取网络接口信息出错:', error);
  }
}

输出结果如下:

markdown 复制代码
网络接口信息:
- 接口 0:
  - 名称:以太网
  - 型号:undefined
  - MAC地址:d0:17:c2:94:e6:c5
  - IPv4地址:192.168.12.13
  - IPv6地址:240e:3b2:32d0:c5e0::1018

总结

通过systeminformation这个库,我们可以轻松获取电脑的配置信息。无论是CPU、内存、操作系统、磁盘还是网络接口,都能一目了然。这对于性能优化、系统配置等场景非常有帮助。

希望这篇文章能帮助你更好地了解如何用Node.js获取电脑配置信息。如果你有任何问题或者建议,欢迎在评论区留言。

相关推荐
崔庆才丨静觅几秒前
稳定好用的 ADSL 拨号代理,就这家了!
前端
江湖有缘2 分钟前
Docker部署music-tag-web音乐标签编辑器
前端·docker·编辑器
恋猫de小郭1 小时前
Flutter Zero 是什么?它的出现有什么意义?为什么你需要了解下?
android·前端·flutter
崔庆才丨静觅8 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60618 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了9 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅9 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅9 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅9 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment9 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端