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 相关文章推荐
Javascript倒计时代码
Aug 12 Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
Mar 28 Javascript
js数组循环遍历数组内所有元素的方法
Jan 18 Javascript
调整小数的格式保留小数点后两位
May 14 Javascript
浅谈JavaScript Date日期和时间对象
Dec 29 Javascript
jQuery实现表格行上移下移和置顶的方法
May 22 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
Jan 05 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
Jun 20 Javascript
AngularJS基础 ng-value 指令简单示例
Aug 03 Javascript
JS验证全角与半角及相互转化的介绍
May 18 Javascript
angular4+百分比进度显示插件用法示例
May 05 Javascript
JavaScript一元正号运算符示例代码
Jun 30 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
php 显示指定路径下的图片
2009/10/29 PHP
记录PHP错误日志 display_errors与log_errors的区别
2012/10/09 PHP
php+mysqli批量查询多张表数据的方法
2015/01/29 PHP
微信自定义菜单的处理开发示例
2015/04/16 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
JavaScript prototype属性使用说明
2010/05/13 Javascript
JS实现状态栏跑马灯文字效果代码
2015/10/24 Javascript
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
2016/06/02 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
JavaScript中Array的实用操作技巧分享
2016/09/11 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
webpack+vue2构建vue项目骨架的方法
2018/01/09 Javascript
微信小程序实现长按删除图片的示例
2018/05/18 Javascript
vue实例中data使用return包裹的方法
2018/08/27 Javascript
angular 未登录状态拦截路由跳转的方法
2018/10/09 Javascript
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
在Vue中使用antv的示例代码
2020/06/29 Javascript
Python语言的12个基础知识点小结
2014/07/10 Python
对python中的pop函数和append函数详解
2018/05/04 Python
opencv 获取rtsp流媒体视频的实现方法
2019/08/23 Python
python Django框架实现web端分页呈现数据
2019/10/31 Python
使用豆瓣源来安装python中的第三方库方法
2021/01/26 Python
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
加拿大最大的钻石商店:Peoples Jewellers
2018/01/01 全球购物
阿迪达斯法国官方网站:adidas法国
2018/03/20 全球购物
关于迟到的检讨书
2014/01/26 职场文书
销售经理岗位职责
2014/03/16 职场文书
建筑施工安全生产责任书
2014/07/22 职场文书
学雷锋活动简报
2015/07/20 职场文书
Nginx + consul + upsync 完成动态负载均衡的方法详解
2021/03/31 Servers
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python
如何利用python实现Simhash算法
2022/06/28 Python