使用Node.js获取电脑配置信息的实现方法(CPU型号、内存大小、磁盘类型等)

 更新时间:2025年04月14日 11:16:56   作者:前端卧龙人  
在日常的开发工作中,我们有时需要了解电脑的硬件配置,比如CPU型号、内存大小、磁盘类型等,这些信息对于性能优化、系统配置等场景非常重要,今天,我们就来聊聊如何用Node.js轻松获取这些信息,感兴趣的小伙伴跟着小编一起来看看吧

为什么选择Node.js?

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

如何获取电脑配置信息?

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

安装库

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

npm install systeminformation

获取CPU信息

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

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

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);
  }
}

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

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

获取内存信息

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

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);
  }
}

输出结果可能如下:

内存信息:
- 总计:15.91GB
- 空闲:5.24GB

获取操作系统信息

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

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);
  }
}

输出结果可能如下:

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

获取磁盘信息

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

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);
  }
}

输出结果如下:

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

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

获取网络接口信息

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

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);
  }
}

输出结果如下:

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

总结

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

以上就是使用Node.js获取电脑配置信息的实现方法(CPU型号、内存大小、磁盘类型等)的详细内容,更多关于Node.js获取电脑配置信息的资料请关注脚本之家其它相关文章!

相关文章

  • nodejs 使用nodejs-websocket模块实现点对点实时通讯

    nodejs 使用nodejs-websocket模块实现点对点实时通讯

    这篇文章主要介绍了nodejs 使用nodejs-websocket模块实现点对点实时通讯的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • 如何在Nestjs和Vue3中使用socket.io示例详解

    如何在Nestjs和Vue3中使用socket.io示例详解

    这篇文章主要为大家介绍了如何在Nestjs和Vue3中使用socket.io示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 完美解决node.js中使用https请求报CERT_UNTRUSTED的问题

    完美解决node.js中使用https请求报CERT_UNTRUSTED的问题

    下面小编就为大家带来一篇完美解决node.js中使用https请求报CERT_UNTRUSTED的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Node.js在child_process域和错误冒泡及捕获实践

    Node.js在child_process域和错误冒泡及捕获实践

    这篇文章主要为大家介绍了Node.js在child_process域和错误冒泡及捕获实践示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Node.js 连接 MySql 统计组件属性的使用情况解析

    Node.js 连接 MySql 统计组件属性的使用情况解析

    这篇文章主要为大家介绍了Node.js 连接 MySql 统计组件属性的使用情况解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Node.js API详解之 vm模块用法实例分析

    Node.js API详解之 vm模块用法实例分析

    这篇文章主要介绍了Node.js API详解之 vm模块用法,结合实例形式分析了Node.js API中vm模块基本功能、函数、使用方法及相关操作注意事项,需要的朋友可以参考下
    2020-05-05
  • koa2使用ejs和nunjucks作为模板引擎的使用

    koa2使用ejs和nunjucks作为模板引擎的使用

    这篇文章主要介绍了koa2使用ejs和nunjucks作为模板引擎的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • Node.js 多进程的项目实践

    Node.js 多进程的项目实践

    在Node.js中,模块负责创建和管理子进程,通过该模块,我们可以轻松地启动新的进程,并与子进程进行通信,下面就来详细的介绍一下Node.js 多进程,感兴趣的可以了解一下
    2025-11-11
  • Node.js卸载与重装及zip与msi安装详解

    Node.js卸载与重装及zip与msi安装详解

    Node.js是一个JavaScript运行环境,可以使JavaScript这类脚本语言编写出来的代码运行速度获得极大提升,下面这篇文章主要给大家介绍了关于Node.js卸载与重装及zip与msi安装的相关资料,需要的朋友可以参考下
    2023-01-01
  • NodeJs Express中间件使用流程解析

    NodeJs Express中间件使用流程解析

    Express中间件本质上就是一个function处理函数,多个中间件之间,共享同一份req和res,我们就可以在上游的中间件中统一为req或者res对象添加自定义的属性或方法,供下游的中间件或路由进行使用,非常方便
    2023-01-01

最新评论