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 相关文章推荐
滚动图片效果 jquery实现回旋滚动效果
Jan 08 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
May 09 Javascript
JS实现网页标题随机显示名人名言的方法
Nov 03 Javascript
AngularJs实现分页功能不带省略号的代码
May 30 Javascript
JS+CSS3模拟溢出滚动效果
Aug 12 Javascript
AngularJS入门教程之REST和定制服务详解
Aug 19 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
Sep 16 Javascript
Sequelize中用group by进行分组聚合查询
Dec 12 Javascript
JavaScript实现经典排序算法之选择排序
Dec 28 Javascript
vue引用js文件的多种方式(推荐)
May 17 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
May 31 Javascript
javascript this指向相关问题及改变方法
Nov 19 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
西德产收音机
2021/03/01 无线电
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
Zend Framework页面缓存实例
2014/06/25 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
2011/07/26 Javascript
jquery 触发a链接点击事件解决方案
2013/05/02 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
js 窗口抖动示例
2013/09/04 Javascript
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
深入理解JavaScript中的call、apply、bind方法的区别
2016/05/30 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
2017/05/11 Javascript
node koa2实现上传图片并且同步上传到七牛云存储
2017/07/31 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
vue todo-list组件发布到npm上的方法
2018/04/04 Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
2018/10/30 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
Python对小数进行除法运算的正确方法示例
2014/08/25 Python
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
Python logging模块用法示例
2018/08/28 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
keras获得某一层或者某层权重的输出实例
2020/01/24 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
2020/03/24 Python
python爬虫 requests-html的使用
2020/11/30 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
HTML5 Canvas API中drawImage()方法的使用实例
2016/03/25 HTML / CSS
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
伦敦平价潮流珠宝首饰品牌:Astrid & Miyu
2016/10/10 全球购物
C有"按引用传递"吗
2016/09/06 面试题
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
老人祝寿主持词
2014/03/28 职场文书
党员干部形式主义个人整改措施
2014/09/17 职场文书
银行自荐信怎么写
2015/03/05 职场文书
2016年三八红旗手先进事迹材料
2016/02/26 职场文书