无法在ReactJS中获取本地IP地址

我正在使用ReactJS创建一个网站,我想获取我的本地IP地址。我尝试了几种方法来做到这一点,但是我对结果感到困惑。

首先,我使用npm上的模块为local-ip-url,然后使用localIpUrl()获取我的IP地址并用console.log()显示。如果我使用终端运行此.js文件(例如:node index.js),它将打印出我想要的准确结果(192.168.x.x)。但是,如果我使用浏览器查看控制台日志,则会显示不同的结果127.0.0.0

我尝试了另一种方法,创建自己的函数:

const os = require('os');

function getavailableIp() {
    let ifaces = os.networkinterfaces();
    let result = {};
    for (let ifname in ifaces) {
        ifaces[ifname].forEach(function (iface) {
            if ('IPv4' !== iface.family || iface.internal !== false) return;
            result[ifname] = iface.address;

        });
    };
    return result;
}

function getIp() {
    let ips = getavailableIp();
    return ips.WiFi || 'localhost';
}

与上面相同,当我在终端中运行代码时,它显示出了完美的结果。但是在浏览器上,函数os.networkinterfaces()返回一个空对象{}(它的属性是 proto ,我认为这不会引起问题)。因此,它总是返回localhost

无法在ReactJS中获取本地IP地址

任何人都可以解释吗?

mimiyou2004 回答:无法在ReactJS中获取本地IP地址

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3037676.html

大家都在问