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