在项目中运用os 模块获取本机ip地址并运用到终端启动成功打开network

一、安装os模块

os 模块是 Node.js 的内置模块,不需要额外安装

二、在项目中新建一个名为 getLocalIpAddress.js 的文件

javascript 复制代码
// getLocalIpAddress.js
const os = require('os');

function getLocalIpAddress() {
  const interfaces = os.networkInterfaces();
  for (const name of Object.keys(interfaces)) {
    for (const interface of interfaces[name]) {
      const {address, family, internal} = interface;
      if (family === 'IPv4' && !internal) {
        return address;
      }
    }
  }
  return '127.0.0.1'; // 返回默认的localhost地址,以防找不到合适的IPv4地址
}

module.exports = getLocalIpAddress;

三、在目标页面引入并运用

如在vue2项目的 webpack.dev.conf.js 文件顶部导入这个新函数

javascript 复制代码
const getLocalIpAddress = require('./getLocalIpAddress');

修改 compilationSuccessInfo.messages 部分来使用这个函数获取的 IP 地址

javascript 复制代码
devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
  compilationSuccessInfo: {
    messages: [
      `Your application is running here: http://localhost:${port}`,
      `Network URL: http://${getLocalIpAddress()}:${port}`, // 使用 getLocalIpAddress 函数获取 IP
    ],
  },
  onErrors: config.dev.notifyOnErrors
    ? utils.createNotifierCallback()
    : undefined
}))

这样终端加载成功以后从单局域网变成可以获取本地ip的

相关推荐
大鹏说大话11 小时前
和小鹅通相近的知识付费小程序平台有哪些
开发语言
Dovis(誓平步青云)11 小时前
启元 T1 Pro 视觉伺服实践:基于 HSV 阈值与针孔测距的启元机器人寻物实现
开发语言·人工智能·机器学习·二次开发
手可摘星陳×11 小时前
10-运维排障篇-无线排障框架与常见故障-诊断矩阵速查
运维·网络
Ryan-Zhong11 小时前
数字人口播视频 API 实战:Python 跑通模板合成、异步轮询与批量出片
开发语言·python·音视频
努力努力再努力wz11 小时前
【Lua 入门系列】模块与包(一):从多文件组织到require 运行时加载机制、模块缓存、预加载搜索与 Lua 文件搜索机制
开发语言·junit·lua
半壶清水11 小时前
[软考网规考点笔记]-局域网之冗余网关技术
网络·笔记·智能路由器
fengci.11 小时前
CTF2困难部分
开发语言·网络·python·安全·php
佳得动11 小时前
编译和链接的认识(C语言)
c语言·开发语言
程序员大阳11 小时前
副队长JavaScript教程(67)-Ajax初识:背景、历史与核心概念
javascript·ajax·同步·异步·概念·背景·来是