无法在节点中接收我的计算机的本地IP地址

时间:2020-04-22 06:31:13

标签: javascript node.js

我正在使用OSDNS模块尝试获取计算机的本地IP地址,但是由于错误而失败

Error: getaddrinfo ENOTFOUND My-MacBook-Pro.local

奇怪的是,这在以前的项目中曾经起作用过,但现在已经不行了。这是我所拥有的:

import fs from 'fs';
import { promises } from 'dns';
import os from 'os';

export const setIPAddress = async (options) => {
  try {
    const { lookup } = promises;
    const { hostname } = os;
    const ipAddress = (await lookup(hostname(), options)).address;

    fs.writeFile(
      './client/network/gateway.js',
      `IP: ${ipAddress}`,
      function (err) {
        if (err) {
          return console.log(err);
        }
      },
    );
  } catch (err) {
    console.log('There was an error encountered when setting IP address', err);
  }
};

这是怎么回事?

1 个答案:

答案 0 :(得分:0)

您可以通过这种方式获取本地IP地址。

require('dns').lookup(require('os').hostname(), function (err, add, fam) { console.log('Ip address is : ' + add); });