当前位置: 首页 > article >正文

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

在这里插入图片描述

目录

  • 一、安装public-ip包
    • 1.在Vue组件中使用
    • 2.在Nuxt.js插件中使用public-ip

一、安装public-ip包

npm install public-ip

1.在Vue组件中使用

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

<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:

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文件中注册这个插件:

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

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

<template>
  <div>
    <h1>你的公网IP是:{{ $publicIp }}</h1>
  </div>
</template>

http://www.kler.cn/a/522508.html

相关文章:

  • 2025-01-28 - 通用人工智能技术 - RAG - 本地安装 DeepSeek-R1对话系统 - 流雨声
  • 中文输入法方案
  • DIY QMK量子键盘
  • ESP32 I2S音频总线学习笔记(二):I2S读取INMP441音频数据
  • FileReader使用
  • 视频外绘技术总结:Be-Your-Outpainter、Follow-Your-Canvas、M3DDM
  • C#字典Dictionary用法详解
  • TikTok 推出了一款 IDE,用于快速构建 AI 应用
  • leetcode 1750. 删除字符串两端相同字符后的最短长度
  • 双选会资料录入步骤
  • 什么是卷积神经网络?
  • linux实际中的常用命令
  • SQL Server约束
  • FPGA 使用 CLOCK_LOW_FANOUT 约束
  • 简易CPU设计入门:控制总线的剩余信号(二)
  • 双向链表在系统调度、游戏、文本编辑及组态方面的应用
  • 【llm对话系统】LLM 大模型Prompt 怎么写?
  • 2025多目标优化创新路径汇总
  • 快速生成2D卡通人物的AI工具:开启Live2D角色创作的新时代
  • SuperAGI - 构建、管理和运行 AI Agent
  • CAN总线数据采集与分析
  • React第二十六章(createPortal)
  • 学习率衰减策略
  • 常见字符串相关题目
  • Linux之内存管理前世今生(一)
  • 【公式】卢布贬值风险:义乌到俄罗斯贸易的汇率陷阱