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 文件不会被提交到版本控制系统中,以避免潜在的安全问题。

GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐