const os =require('os');functiongetIPAddress(){const interfaces = os.networkInterfaces();for(const devName in interfaces){const iface = interfaces[devName];for(let i =0; i < iface.length; i++){const alias = iface[i];if(alias.family ==='IPv4'&& alias.address !=='127.0.0.1'&&!alias.internal){return alias.address;}}}}console.log(getIPAddress())
二、获取空闲的端口
const{ execSync }=require('child_process')const os =require('os')// 根据最大值和最小值随机取一个出来constrandomNum=(min, max)=>
Math.floor(Math.random()*(max - min +1))+ min
constgetFreePort=(minPort =10000, maxPorts =50000)=>{if(ports.length ===0){console.info('分配端口已达最大限额')returnnull}const port =randomNum(minPort, maxPorts)let stdout =nulltry{if(os.type()==='Windows_NT'){//windows}elseif(os.type()==='Darwin'){//mac
stdout =execSync(`lsof -i:${port}`)}elseif(os.type()==='Linux'){//Linux
stdout =execSync(`netstat -anp | grep ${port}`)}if(!stdout){return port
}else{returngetFreePort()}}catch(e){return port
}}console.log(getFreePort())
一、获取本地ip地址const os = require('os');function getIPAddress() { const interfaces = os.networkInterfaces(); for (const devName in interfaces) { const iface = interfaces[devName]; for (let i = 0; i < iface.length; i++) {