想在node中获取本机ip,需要先判断操作系统,可以通过process.platform来判断,MAC下得到的值是darwin,window下得到的值是win32;
然后再利用os模块的networkInterfaces()可以获取所有网卡信息;从其中就可以找到需要的ip;下面是个小例子
function hostIp() { var IPv4; if(process.platform === ‘darwin‘) { for(var i = 0; i < os.networkInterfaces().en0.length; i++) { if(os.networkInterfaces().en0[i].family == ‘IPv4‘) { IPv4 = os.networkInterfaces().en0[i].address; } } } else if(process.platform === ‘win32‘) { for(var i = 0; i < os.networkInterfaces()[‘本地连接‘].length; i++) { if(os.networkInterfaces()[‘本地连接‘][i].family == ‘IPv4‘) { IPv4 = os.networkInterfaces()[‘本地连接‘][i].address; } } } return IPv4; }
当然也可以通过os.type来判断操作系统。MAC下返回的仍然是darwin;而windows 下返回的是window_NT
时间: 2024-10-23 22:42:06