easy-team/easywebpack

网卡名问题,,en0, en1

MrTurnRight opened this issue · 4 comments

网卡名问题,,en0, en1

utils.getIP() 这个函数

只读取了en0 和 en1 的网卡
而我的网卡叫eth0, eth1.。。。。
可以加上这两个吗?

utils.getIp = position => {
  const interfaces = os.networkInterfaces();
  const ips = [];

  if (interfaces.en0) {
    for (let i = 0; i < interfaces.en0.length; i++) {
      if (interfaces.en0[i].family === 'IPv4') {
        ips.push(interfaces.en0[i].address);
      }
    }
  }
  if (interfaces.en1) {
    for (let i = 0; i < interfaces.en1.length; i++) {
      if (interfaces.en1[i].family === 'IPv4') {
        ips.push(interfaces.en1[i].address);
      }
    }
  }
  if (position > 0 && position <= ips.length) {
    return ips[position - 1];
  } else if (ips.length) {
    return ips[0];
  }
  return '127.0.0.1';

};

@MrTurnRight 可以的,你这边提个 PR 把 ,我这边出现不了这种场景,主要获取节点的方式不确定,需要你这边根据实际情况获取

utils.getIp = position => {
  const interfaces = os.networkInterfaces();
  const ips = [];
  const netCards = [];

  interfaces.en0 && netCards.push(interfaces.en0)
  interfaces.en1 && netCards.push(interfaces.en1)
  interfaces.eth0 && netCards.push(interfaces.eth0)
  interfaces.eth1 && netCards.push(interfaces.eth1)
  netCards.forEach(card => {
    for (let i = 0; i < card.length; i++) {
      if (card[i].family === 'IPv4') {
        ips.push(card[i].address);
      }
    }
  })
  if (position > 0 && position <= ips.length) {
    return ips[position - 1];
  } else if (ips.length) {
    return ips[0];
  }
  return '127.0.0.1';

};

我没有fork代码,,补上这几行就好了。。。

已发布新版本,重新安装依赖即可。