vue 前端 使用 node 里的 os 模块,来获取主机mac和IP地址
需要注意的是这篇教程只能获取本地的,打包到服务器上也是服务器的。需要获取不同使用者的客户端mac,看我这篇。获取客户端不同的mac地址
一、根目录创建 getNetworkInfo.js 脚本文件
const os = require("os"); function getNetworkInfo() { let address = "127.0.0.1"; let mac = ""; const networkInterfaces = os.networkInterfaces(); for (const iface of Object.values(networkInterfaces)) { for (const details of iface) { if ( details.family === "IPv4" && details.mac !== "00:00:00:00:00:00" && details.address !== "127.0.0.1" ) { mac = details.mac; address = details.address; return { mac, address }; } } } return { mac, address }; } module.exports = getNetworkInfo;
二、vue.config.js中引入
const getNetworkInfo = require("./getNetworkInfo.js"); const { mac, address } = getNetworkInfo(); // 自定义环境变量全局使用 process.env.VUE_APP_MAC = mac; process.env.VUE_APP_ADDRESS = address;
三、页面中使用
mac:{{ mac }}
address:{{ address }}
四、os 其他操作方法
其他用法:
os.EOL 定义操作系统一行结束的标识的常量。 os.arch() 返回操作系统 CPU 架构,可能的值有 “x64”、“arm” 和 “ia32”。 os.cpus() 返回一个数组对象,包括CPU的型号、速度、时间等。 os.endianness() 返回 CPU 的字节序,可能的是 “BE” 或 “LE”。 Little endian:将低序字节存储在起始地址。 Big endian:将高序字节存储在起始地址。 os.freemem() 返回操作系统空闲内存,单位是字节。 os.homedir() 返回当前用户的主目录。 os.hostname() 返回操作系统的主机名。 os.loadavg() 返回一个包含 1、5、15 分钟平均负载的数组。 os.platform() 返回操作系统平台。 os.release() 返回操作系统的发行版本。 os.tmpdir() 返回操作系统默认的临时文件目录。 os.totalmem() 返回系统内存总量,单位为字节。 os.type() 返回操作系统名称。 os.uptime() 返回操作系统运行的时间,以秒为单位。