Nuxt:利用public-ip这个npm包来获取公网IP

目录

一、安装public-ip包

html 复制代码
npm install public-ip

1.在Vue组件中使用

你可以在Nuxt.js的任意组件或者插件中使用public-ip来获取公网IP。下面是在一个Vue组件中如何使用它的例子:

html 复制代码
<template>
  <div>
    <h1>你的公网IP是:{{ ip }}</h1>
  </div>
</template>
 
<script>
import {publicIp, publicIpv4, publicIpv6} from 'public-ip';
 
export default {
  data() {
    return {
      ip: null,
    };
  },
  async mounted() {
    console.log(await publicIp());   // IPv4或IPv6
    console.log(await publicIpv6()); // IPv6
    console.log(await publicIpv4()); // IPv4
    try {
      this.ip = await publicIpv4(); // 获取IPv4公网IP
      // 或者使用 publicIpv6() 获取IPv6公网IP
    } catch (err) {
      console.error('无法获取公网IP', err);
    }
  },
};
</script>

2.在Nuxt.js插件中使用public-ip

你也可以在Nuxt.js的插件中全局使用public-ip,这样可以在任何组件中直接访问公网IP。

(1)在plugins目录下创建一个新的文件,例如public-ip.js:

javascript 复制代码
import Vue from 'vue';
import {publicIp, publicIpv4, publicIpv6} from 'public-ip';
 
export default async ({ app }, inject) => {
  try {
    const ip = await publicIpv4(); // 获取IPv4公网IP
    // 或者使用 publicIpv6() 获取IPv6公网IP
    inject('publicIp', ip); // 注入公网IP到Vue实例中,可以通过this.$publicIp访问
  } catch (err) {
    console.error('无法获取公网IP', err);
  }
};

(2)在nuxt.config.js文件中注册这个插件:

javascript 复制代码
export default {
  plugins: [
    '~/plugins/public-ip' // 确保路径正确,根据你的项目结构调整路径
  ],
}

(3)在组件中使用注入的公网IP:

html 复制代码
<template>
  <div>
    <h1>你的公网IP是:{{ $publicIp }}</h1>
  </div>
</template>
相关推荐
吴敬悦2 小时前
私有的 GitHub Package 怎么拉取?
npm·github
IT19957 小时前
C++使用“长度前缀法”解决TCP“粘包 / 拆包”问题
服务器·网络·c++·tcp/ip
while(1){yan}8 小时前
网络协议TCP
java·网络·网络协议·tcp/ip·青少年编程·电脑常识
yBmZlQzJ8 小时前
财运到内网穿透-群晖NAS安装(docker版本)
运维·经验分享·网络协议·docker·容器
tiantianuser8 小时前
RDMA设计15:连接管理模块设计2
网络协议·fpga开发·rdma·高速传输·cmac
阿里云云原生9 小时前
LoongSuite:解决 WebSocket 全链路可观测性难题,赋能 AI 应用的实时链路追踪
人工智能·websocket·网络协议·阿里云·云原生·可观测
电子科技圈9 小时前
SiFive车规级RISC-V IP获IAR最新版嵌入式开发工具全面支持,加速汽车电子创新
嵌入式硬件·tcp/ip·设计模式·汽车·代码规范·risc-v·代码复审
李少兄9 小时前
从零开始全面掌握 HTTPS
网络协议·http·https
谈笑也风生9 小时前
验证IP地址(三)
python·tcp/ip·mysql
福尔摩斯张10 小时前
TCP协议深度解析:从报文格式到连接管理(超详细)
linux·c语言·网络·c++·笔记·网络协议·tcp/ip