当前位置: 首页 > 知识库问答 >
问题:

javascript - 解决前端vue每次修改ip地址的问题?

凤经国
2023-11-24

前端vue遇到了私有化部署,ip地址不是唯一的,每次都修改完ip地址再打包再重新部署,很繁琐?

我尝试在public文件夹下面创建一个config.js文件,然后再去index.html内引入,但是当我再去封装的axios里面去使用时 就会报错(提示找不到VUE_APP_URL),然后我去使用imort导入导出时,虽然不在报错,但是在打包部署了的情况下,再去修改config.js文件内的ip地址,是没有任何响应的?请问大佬们这该如何解决呢?
图片.png
图片.png
图片.png

共有2个答案

司空炯
2023-11-24

上面AI Bot的回答不错,可以试试。

或者项目代码在真实环境中写相对路径,不指定ip,默认接口请求就是当前环境下的(nginx 之类做下反代)。

或者简单粗暴, VUE_APP_URL 挂在在 window 下,这样config.js 中直接修改也可完成需求。

尉迟俊能
2023-11-24

在前端 Vue 项目中,如果需要将 IP 地址等配置信息动态地集成到应用程序中,而不是每次修改 IP 地址后重新打包部署,可以采用以下方法:

  1. 使用 .env 文件:在项目的根目录下创建一个 .env 文件,其中包含需要动态配置的变量和值。例如,可以在 .env 文件中添加以下内容:
VUE_APP_URL=http://192.168.0.100:8080

在应用程序中,可以通过 process.env 对象访问这些变量。例如,在封装的 axios 中使用 VUE_APP_URL

import axios from 'axios';const instance = axios.create({  baseURL: process.env.VUE_APP_URL // 使用环境变量});// 使用 instance 发起请求...
  1. 使用动态导入:可以在应用程序中使用动态导入 (import()) 来导入需要配置的模块或组件。在动态导入中,可以传递参数来动态地改变导入的结果。例如,在封装的 axios 中使用动态导入:
// 在主程序入口文件中动态导入 axiosconst axiosInstance = import(/* webpackChunkName: "axios" */ 'axios').then((axios) => {  const instance = axios.create({    baseURL: process.env.VUE_APP_URL // 使用环境变量  });  return instance;});

然后,在其他需要使用 axios 的地方,可以使用 axiosInstance 发起请求。当 IP 地址发生变化时,只需要更新 .env 文件中的 VUE_APP_URL 变量即可,不需要重新打包部署应用程序。

  1. 使用 Nginx 反向代理:如果私有化部署使用了 Nginx 作为反向代理,可以通过配置 Nginx 来动态地修改请求的 IP 地址或主机头。在 Nginx 的配置文件中,可以添加以下内容:
location / {  proxy_pass http://192.168.0.100:8080; // 实际的 IP 地址和端口号  proxy_set_header Host $host;  proxy_set_header X-Real-IP $remote_addr;}

在应用程序中,可以忽略 IP 地址的配置,直接使用相对路径发起请求。Nginx 会将请求代理到实际的服务器上,并动态地修改请求的 IP 地址等头部信息。当需要修改 IP 地址时,只需要更新 Nginx 的配置文件并重新加载 Nginx,不需要重新打包部署应用程序。

 类似资料:
  • 就是用户打开页面后端,可以直接获取本机的ip地址吗?

  • 本文向大家介绍自动修改本机IP地址的bat代码,包括了自动修改本机IP地址的bat代码的使用技巧和注意事项,需要的朋友参考一下 代码比较多,经过呐喊教程小编测试,在2008 r2上无法正常执行,其实bat设置ip就是几个命令,无外乎加了一些判断与获取原来网络配置的一些信息,代码越复杂越容易出问题 BAT批处理复杂环境下的IP地址修改设置 继续分享一个 如果是小编自己用的话直接用 netsh int

  • 需求是当本地程序请求一个IP地址的时候,映射到另一个ip地址上去。 和DNS不同的是,这里没有解析域名,因此修改hosts不行。 有没有办法或者工具可以做到?

  • 本文向大家介绍Shell脚本实现自动修改IP地址,包括了Shell脚本实现自动修改IP地址的使用技巧和注意事项,需要的朋友参考一下 作为一名Linux SA,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者MAC绑定,当然后者比较操作起来相对繁琐,而前者我们可以设置主机名、ip信息、网关等配置。修改成特定的主机名在维护和管理方面也比较方便。如下脚本用途为:修改ip和主机名等相关信

  • 为什么会有这种报错 为了安全,滴滴所有的接口都会校验请求IP是否在IP白名单中。 IP白名单是在滴滴企业版开放平台(http://open.es.xiaojukeji.com/) 管理中心的应用中设置的。 解决方法 获取服务器IP地址 在自己服务器上执行命令:curl http://open.es.xiaojukeji.com/open/Tools/getIp 注意: 1. 不是在自己

  • 为什么会有这种报错 为了安全,滴滴所有的接口都会校验请求IP是否在IP白名单中。 IP白名单是在滴滴企业版开放平台(http://open.es.xiaojukeji.com/) 管理中心的应用中设置的。 解决方法 获取服务器IP地址 在自己服务器上执行命令:curl http://open.es.xiaojukeji.com/open/Tools/getIp 注意: 1. 不是在自己