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;
三、页面中使用
<template><div class="box-card"><h3>mac:{{ mac }}</h3><h3>address:{{ address }}</h3></div>
</template><script>
export default {data() {return {mac: "",address: "",};},mounted() {this.mac = process.env.VUE_APP_MAC;this.address = process.env.VUE_APP_ADDRESS;console.log("process.env.VUE_APP_MAC>>>→??????", process.env.VUE_APP_MAC);console.log("process.env.VUE_APP_ADDRESS>>>→??????",process.env.VUE_APP_ADDRESS);},
};
</script><style lang="scss" scoped></style>
四、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()
返回操作系统运行的时间,以秒为单位。