Wuxh

Front-end Development

0%

node-js获取本机ip

使用 node.js 获取本地 IPv4 地址

起因

在公司开发项目过程中, 使用Vue项目配置本地 host 的时候;
每个人从SVN仓库 pull 下来的代码, 安装依赖后, 无法正常运行, 需要修改 ip 为自己本地 IP;
索性每次都要改, 每个开发者都麻烦, 所以自己写了一个方法来获取 IP 地址;

解决方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const os = require('os');
const getLocalIP = () => {
//所有的网卡
const ifaces = os.networkInterfaces();
let network = [];
//移除loopback,没多大意义
Reflect.ownKeys(ifaces).forEach(key => {
if (!/loopback/gi.test(key)) {
network = [...network, ...ifaces[key]];
}
});
return network.reduce((arr, { address, family }) => {
const ip = /^IPv4$/gi.test(family) ? [address] : [];
return [...arr, ...ip];
}, []);
};

// exports.getLocalIP = getLocalIP
const a = getLocalIP();
console.log(a);

参考文档

  1. Nodejs 获取本机地址
  2. Nodejs 中 os.networkInterfaces()