vue.config.js 获取本地 IP

文章介绍了如何在Vue项目构建过程中,通过Node.js脚本getLocalIp.js获取本地IP地址,并将其作为环境变量存储在.env文件中,避免提交至版本控制。同时,指导如何在vue.config.js中访问这个变量,以及注意保护.env文件的安全性。

1、根目录下新建文件 getLocalIp.js:

在 vue.config.js 中直接获取本地 IP 地址是不可能的,因为这个配置文件是在编译构建过程中使用的,而获取本地IP通常需要在运行时进行。不过,可以在项目中使用 Node.js 代码来获取本地 IP,并在编译时通过环境变量传递给 Vue。

以下是一个简单的 Node.js 脚本,用于获取本地 IP 地址,并将其导出为环境变量:

// getLocalIp.js
const os = require('os');
const fs = require('fs');
const process = require('process');
 
function getLocalIp() {
  const networkInterfaces = os.networkInterfaces();
  for (const iface of Object.values(networkInterfaces)) {
    for (const config of iface) {
      if (config.family === 'IPv4' && !config.internal) {
        return config.address;
      }
    }
  }
  throw new Error('No local IP address found');
}
 
const localIp = getLocalIp();
console.log(`Local IP address: ${localIp}`);
 
// 将IP地址写入环境变量文件
fs.writeFileSync('.env', `VUE_APP_LOCAL_IP=${localIp}`);
 
// 退出Node进程
process.exit(0);

2、package.json 的 build 脚本后添加 node getLocalIp.js && :

"scripts": {
    "build": "node getLocalIp.js && vue-cli-service build"
  },

这个脚本会在构建 Vue 项目之前获取本地 IP,并将其作为环境变量 VUE_APP_LOCAL_IP 导出到 .env 文件中。然后,在 vue.config.js 中,你可以使用 process.env.VUE_APP_LOCAL_IP 来访问这个变量。

请注意,需要确保 .env 文件不会被提交到版本控制系统中,以避免潜在的安全问题。

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值