vue2.0项目调用多个IP接口

2023-11-05

项目中经常遇到跨域问题,最简单的方式就在本地配置代理。可偶尔遇到一个页面里面需要调用来自两个以上不同IP段的接口,多个IP要怎么配置代理呢?请往下看。

在项目目录 config/index.js文件配置代理


module.exports = {
	...
	  dev: {
		 proxyTable: {
		      '/api': {
		        target: 'http://192.168.17.219:8083', 
		        changeOrigin: true, //是否跨域
		        pathRewrite: {
		          '^/api': ''
		        }
		      },
		      '/moc': {
		        target: 'http://192.156.99.189:8080', 
		        changeOrigin: true, //是否跨域
		        pathRewrite: {
		          '^/moc': ''
		        }
		      },
		    },
	    }
    }

然后我们在进行判断(baseurl.js) 自己创建的文件

//base.js
let baseURL ;
if (process.env.NODE_ENV === 'development') {
  //开发环境
  //这种写法只适合项目中调用一个IP接口的情况
  baseURL = '/api'
  
  //如果调用两个IP接口以上的情况,此处写空,在调用接口的前面添加代理名称来区分代理
   baseURL = ''
  
} else {
  //生产环境
  baseURL = ''
}

然后配置一下axios 请求封装,创建一个http.js文件,引入上面创建的base.js文件

//http.js
import base from '@/utils/base'
.....



//人员管理页面IP
const service = axios.create({
  baseURL:base.baseURL, //属性baseURL 是固定名称,需要注意写法
  timeout: 20000  
})

 ..... 
 //然后将变量导出
export default service

然后在请求接口管理页面(自己创建的api.js文件),并引入http.js文件,在接口前面加上代理的名称

//api.js
import request from '@/con/http' 
//一个接口调用时,可直接拼接 mxk 前缀,但要和config.js定义的一致
export function seeDownloadWeight(data) {
  return request({
    url: '/mxk/weight_manage/view_model',
    method: 'get',
    params: data
  })
}
 
//调用两个接口以上时,接口前面加上代理的名称
let max = '/mxk' //这个要跟你在config.js 代理的名称一样
let api = '/api' 
export function seeDownloadWeight(data) {
  return request({
      //错误写法,代理名称不可跟接口完全融为一体,否则上线后接口名称不一致
    //url: '/mxk/weight_manage/view_model',
    //推荐写法,上线后,只需要把变量置为空就好
    url: max+'/weight_manage/view_model',
    method: 'get',
    params: data
  })
export function seeDownloadWeight2(data) {
  return request({
      //错误写法,代理名称不可跟接口完全融为一体,否则上线后接口名称不一致
    //url: '/mxk/weight_manage/view_model',
    //推荐写法,上线后,只需要把变量置为空就好
    url: api+'/weight_manage/view_model',
    method: 'get',
    params: data
  })
}

如果此方便有改进的地方,欢迎大家留言或私信新浪微博,记得关注噢

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue2.0项目调用多个IP接口 的相关文章

随机推荐

  • Expected more than 1 value per channel when training, got input size torch.Size

    Expected more than 1 value per channel when training got input size torch Size 训练的时候 batch size必须大于1 但是预测的时候 batch size可
  • 阿白数模笔记之遗传算法(genetic algorithm)MATLAB代码详解

    目录 Preface 一 极值问题Extremum problem 1 参数初始化 Parameter initialization 2 解码 decode 3 轮盘赌 选择淘汰Roulette choose to eliminate 4
  • 多维时序

    多维时序 Matlab实现BiLSTM Adaboost和BiLSTM多变量时间序列预测对比 目录 多维时序 Matlab实现BiLSTM Adaboost和BiLSTM多变量时间序列预测对比 预测效果 基本介绍 模型描述 程序设计 参考资
  • numpy的loadtxt遇到问题:ValueError: Wrong number of columns at line 2 原因调查

    在使用python做验证码识别的过程中 在调用numpy的loadtxt函数时发生如下错误 Traceback most recent call last File D My Documents test jpg ok py line 36
  • 【Docker】Docker使用之容器技术发展史

    博客主页 博主链接 本文由 M malloc 原创 首发于 CSDN 学习专栏推荐 LeetCode刷题集 欢迎点赞 收藏 留言 如有错误敬请指正 未来很长 值得我们全力奔赴更美好的生活 文章目录 本章详情 Jail时代 1979 年 贝尔
  • 华为OD机试题:消除相邻且相同

    题目描述 输入一个只包含英文字母的字符串 字符串中的俩个字母如果相邻且相同 就可以消除 在字符串上反复执行消除的动作 直到无法继续消除为止 此时游戏结束 输出最终得到的字符串长度 输入描述 原始字符串只能包含大小写英文字母 字母的大小写敏感
  • 禁止系统运行某个进程的简单方法(注册表操作)

    一 解决方法 修改注册表 HKLM SOFTWARE Microsoft Windows NT CurrentVersion Image File Execution Options 下建立一个以要禁用的程序名命名的子项 如 hudan e
  • python爬虫修饰_python爬虫URL重试机制的实现方法(python2.7以及python3.5)

    应用场景 状态不是200的URL重试多次 代码比较简单还有部分注释 python2 7实现 coding utf 8 ayou import requests def url retry url num retries 3 print ac
  • 生活中那些六 “有” 的人

    1 有承诺 一些事情开始的时候总会有些协议与约定 我们称其为承诺 我们必须遵守承诺 即使是约会也要遵守 也不能迟到 迟到这件事不但会妨碍我们所有人 还意味着迟到者不尊重大家的时间 这种约定从某种意义上来讲也是承诺 如果你来晚了 这就表示你的
  • 蓝桥杯考生规则

    2017年模拟赛 本科组 考生须知 l 考试开始后 选手首先下载题目 并使用考场现场公布的解压密码解压试题 l 考试时间为4小时 时间截止后 提交答案无效 l 在考试强制结束前 选手可以主动结束考试 需要身份验证 结束考试后将无法继续提交或
  • java计算机毕业设计火车订票系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计火车订票系统源码 mysql数据库 系统 lw文档 部署 java计算机毕业设计火车订票系统源码 mysql数据库 系统 lw文档 部署 本源码技术栈 项目架构 B S架构 开发语言 Java语言 开发软件 idea
  • Tomcat调优

    问题定位 对于Tomcat的处理耗时较长的问题主要有当时的并发量 session数 内存及内存的回收等几个方面造成的 出现问题之后就要进行分析了 1 关于Tomcat的session数目 这个可以直接从Tomcat的web管理界面去查看即可
  • Go语言学习13-类型转换

    类型转换 引言 类型转换 1 概念 2 数值类型之间的转换 3 与string类型相关的转换 4 别名类型值之间的转换 结语 引言 在上一篇博文中 我们介绍了 Go 语言的 数据的使用 本篇博文 我们将介绍 Go 语言的类型转换 类型转换
  • HTTP头的Expires与Cache-control

    1 概念 Cache control用于控制HTTP缓存 在HTTP 1 0中可能部分没实现 仅仅实现了Pragma no cache 数据包中的格式 Cache Control cache directive cache directiv
  • 程序员的十个等级

    转载自 http blog csdn net fx0000001 article details 50397265 如果你还迷茫请看这里 如果你很牛逼请看这里 如果你很自傲请看这里 总有你想学会的 自西方文艺复兴以来 中国在自然科学方面落后
  • 不带头结点的单链表

    建立结构体 和带头结点但单链表一样 按需建立即可 我以建立一个储存学生信息的链表举例 typedef struct node char name 20 int number struct node next Node LinkList 单链
  • 探索全桥电机驱动模块:实现精确控制与高效驱动

    全桥电机驱动模块是一种在现代工程应用中广泛使用的电机驱动方式 对于需要精确控制和高效驱动的场景 如机器人 无人机 电动车等 全桥电机驱动模块提供了理想的解决方案 本文将介绍全桥电机驱动模块的原理和实际应用场景 并对几种常见的全桥驱动芯片进行
  • csdn的Markdown行首缩进的两种方法,非常全

    csdn的行首缩进 鉴于不同编辑器的Markdown语法略微不同 故缩进也略不同 1 特殊占位符 不缩进 行首缩进 nbsp 行首缩进 160 四分之一中文占位符 行首缩进 8197 四分之一中文占位符 行首缩进 ensp 行首缩进 819
  • Spring中Bean的生命周期

    Spring Bean的生命周期是从Bean 实例化之后 即通过反射创建出对象之后 到Bean成为一个完整对象 最终存储到单例池中 这个过程被称为Spring Bean的生命周期 Spring Bean的生命周期大体上分为四个阶段 实例化
  • vue2.0项目调用多个IP接口

    项目中经常遇到跨域问题 最简单的方式就在本地配置代理 可偶尔遇到一个页面里面需要调用来自两个以上不同IP段的接口 多个IP要怎么配置代理呢 请往下看 在项目目录 config index js文件配置代理 module exports de