vue 通过 node 获取客户端IP地址

香菊网 发表于: 2019-10-16 分类: 前端front  nodeJs  H5部分  

前言:

当我们本地做开发的时候,有时候我们的ip是会变化的,这样如果我们项目里面有需要用到ip的话很不好获取,我们可以在使用node启服务的时候先把ip作为变量储存起来

作用:

我们启动自己vue项目的时候启动完成的时候显示的都是  Your application is running here : http://0.0.0.0:8080  或者 localhost:8080

这个时候我们还需要使用cmd ipconfig 然后在打开浏览器 等一系列对程序员来说很复杂的操作 我们为什么不让服务起来的时候直接显示的就是自己的ip呢,果不其然,nodejs有可以获取本机ip的模块,被我找到了 os 模块。

代码:

const os = require('os');

// 获取本机ip
function getIPAdress() {
    var interfaces = os.networkInterfaces();
    for (var devName in interfaces) {
        var iface = interfaces[devName];
        for (var i = 0; i < iface.length; i++) {
            var alias = iface[i];
            if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal) {
                return alias.address;
            }
        }
    }
}
const myHost = getIPAdress();

然后在我们的webpack.dev.conf.js 中修改一下运行的提示

compilationSuccessInfo: {
    messages: [`Your application is running here : http://${myHost}:${port}`],
},

然后运行 npm run dev

  Your application is running here : http://10.64.154.114:8080

说明:

如果项目里面的页面需要的话 我们可以把ip保存在node的全局作用域下

然后在项目里面通过  process.env 就可以拿到我们运行项目的 ip 地址了

 

 

 

标签: 前端frontnodeJsH5部分
Copyright © 2019 幻雨焉缘博客 | 浙ICP备19001843号-1
----------------------------------
种一棵树,最好的培养时间是十年前,其次是现在 加油  (ง •_•)ง。        ──── 前端攻城狮