Vue项目前后端联调(使用proxyTable实现跨域方式)


Posted in Javascript onJuly 18, 2020

vue本地项目调试线上接口出现跨域问题

使用方法:vue在配置文件中提供了proxyTable来设置跨域,在config文件夹的index.js文件中

dev: { //开发环境下

  // 静态资源文件夹
  assetsSubDirectory: 'static',

  // 发布路径
  assetsPublicPath: '/',

  // 代理配置表,在这里可以配置特定的请求代理到对应的API接口
  // 例如将'localhost:8080/api/xxx'代理到'http://xxxxxxx.com/xxx'
  proxyTable: {
   '/api': {
    target: 'http://xxxxxx.com', // 接口的域名
    // secure: false, // 如果是https接口,需要配置这个参数
    changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
    pathRewrite: {
     '^/api': '', // 这种接口配置出来 http://xxxxxx.com:8080/xxx
    }
   }
  }
}

关于pathRewrite中'^/api'的作用:

用代理, 首先你得有一个标识, 告诉他你这个连接要用代理. 不然的话, 可能你的 html, css, js这些静态资源都跑去代理. 所以我们只要接口用代理, 静态文件用本地。

'/api': {}, 就是告诉node, 我接口只要是'/api'开头的才用代理.所以你的接口就要这么写 /api/xx/xx. 最后代理的路径就是 http://xxxxxx.com/api/xx/xx.

可是不对啊, 我正确的接口路径里面没有/api啊. 所以就需要 pathRewrite,用''^/api'':'', 把'/api'去掉, 这样既能有正确标识, 又能在请求接口的时候去掉api

补充知识:vue2./vue.3.x实现跨域(proxytable/proxy)

vue2.x

config/index.js

proxyTable: {
   '/api': {
    target: 'http://localhost:3000/', // 请求的接口的域名
    // secure: false, // 如果是https接口,需要配置这个参数
    changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
    pathRewrite: {
     '^/api': ''
    }
   }
  },

vue3.x

vue.config.js

module.exports = {
  devServer: {
   proxy: {
    '/api': {
     target: 'http://localhost:8080/',
     changeOrigin: true,
     ws: true,
     pathRewrite: {
      '^/api': '/static/mock'
     }
    }
   }
  }
 }

以上这篇Vue项目前后端联调(使用proxyTable实现跨域方式)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
Jan 04 Javascript
复选框全选与全不选操作实现思路
Aug 18 Javascript
jQuery中:empty选择器用法实例
Dec 30 Javascript
js运动动画的八个知识点
Mar 12 Javascript
即将发布的jQuery 3 有哪些新特性
Apr 14 Javascript
Javascript中this绑定的3种方法与比较
Oct 13 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
Apr 13 Javascript
表格展示利器 Bootstrap Table实例代码
Sep 06 Javascript
iview中Select 选择器多选校验方法
Mar 15 Javascript
Paypal支付不完全指北
Jun 04 Javascript
vue配置多代理服务接口地址操作
Sep 08 Javascript
在HTML5 localStorage中存储对象的示例代码
Apr 21 Javascript
完美解决通过IP地址访问VUE项目的问题
Jul 18 #Javascript
Vue移动端项目实现使用手机预览调试操作
Jul 18 #Javascript
vue中移动端调取本地的复制的文本方式
Jul 18 #Javascript
vue中用 async/await 来处理异步操作
Jul 18 #Javascript
vue 使用async写数字动态加载效果案例
Jul 18 #Javascript
vue-router为激活的路由设置样式操作
Jul 18 #Javascript
解决Vue @submit 提交后不刷新页面问题
Jul 18 #Javascript
You might like
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
php 静态化实现代码
2009/03/20 PHP
php 分页原理详解
2009/08/21 PHP
采用memcache在web集群中实现session的同步会话
2014/07/05 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
Android中资源文件(非代码部分)的使用概览
2012/12/18 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
jquery文档操作wrap()方法实例简述
2015/01/10 Javascript
浅谈javascript原型链与继承
2015/07/13 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
js实现页面刷新滚动条位置不变
2016/11/27 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
微信小程序实现下载进度条的方法
2017/12/08 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
通过实例解析js简易模块加载器
2019/06/17 Javascript
关于JS解构的5种有趣用法
2019/09/05 Javascript
基于vue实现微博三方登录流程解析
2020/11/04 Javascript
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
Python中title()方法的使用简介
2015/05/20 Python
pycharm中连接mysql数据库的步骤详解
2017/05/02 Python
Python3实现简单可学习的手写体识别(实例讲解)
2017/10/21 Python
Python字符串的常见操作实例小结
2019/04/08 Python
Python Opencv实现图像轮廓识别功能
2020/03/23 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
python3 实现口罩抽签的功能
2020/03/11 Python
NYX Professional Makeup官方网站:专业彩妆和美容产品
2019/10/29 全球购物
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
工作自我评价分享
2013/12/01 职场文书
学习党课思想汇报
2013/12/29 职场文书
酒店开业庆典主持词
2014/03/21 职场文书
安全生产管理责任书
2014/04/16 职场文书
党性教育心得体会
2014/09/03 职场文书
秋季运动会开幕词
2015/01/28 职场文书
升职自荐信怎么写
2015/03/05 职场文书
2015年汽车销售经理工作总结
2015/04/27 职场文书
货款欠条范本
2015/07/03 职场文书