feng xiaohan

os

Nodejs os 模块可以跟操作系统进行交互。

api

platform

获取当前操作系统平台。

const os = require("node:os");

console.log(os.platform()); // win32(win32、windows、darwin(mac)、linux)
//

release

获取当前操作系统版本号。

type

获取当前操作系统名称。

比 platform 要获取的信息多一些。

version

获取当前操作系统版本。

homedir

获取当前用户目录。

原理:window:echo %userprofile%
mac:$HOME

arch

获取CPU 架构

const os = require("node:os");

console.log(os.arch()); // x64(arm、arm64、ia32、mips、mipsel、ppc、ppc64、s390、s390x、x64)
//

cups

获取操作系统线程 cpu 信息。

原理:读取操作系统 cpu 的数量。(任务管理器可查)

networkInterfaces

获取网络状态信息。(ip 地址、子网掩码、ip 版本、mac 地址、ip 地址段)

应用

构建工具热更新后自动打开浏览器(open:true)

原理:使用 os 判断不同的操作系统,分别调用对应的 shell 命令。

const os = require("node:os");
const { exec } = require("child_process"); // exec:执行 shell 命令

const platform = os.platform();

const open = (url) => {
  if (platform === "darwin") {
    exec(`open ${url}`); // mac
  } else if (platform === "win32") {
    exec(`start ${url}`); // windows
  } else if (platform === "linux") {
    exec(`xdg-open ${url}`); // linux
  }
};