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实现浮点数转十六进制字符
Oct 29 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
Dec 08 Javascript
js实现文字在按钮上滚动的方法
Aug 20 Javascript
JS实现图片平面旋转的方法
Mar 01 Javascript
深入理解JavaScript中的对象复制(Object Clone)
May 18 Javascript
详解ECharts使用心得总结
Dec 06 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
Mar 27 Javascript
Three.js的使用及绘制基础3D图形详解
Apr 27 Javascript
最实用的JS数组函数整理
Dec 05 Javascript
15 分钟掌握vue-next响应式原理
Oct 13 Javascript
JS实现简单随机3D骰子
Oct 24 Javascript
JS原形与原型链深入详解
May 09 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的5个入手程序
2006/11/23 PHP
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
PHP二维数组去重算法
2016/12/17 PHP
jQuery新闻滚动插件 jquery.roller.js
2011/06/27 Javascript
用Javascript评估用户输入密码的强度(Knockout版)
2011/11/30 Javascript
基于jQuery判断两个元素是否有重叠部分的代码
2012/07/25 Javascript
浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)
2013/07/09 Javascript
js打开windows上的可执行文件示例
2014/05/27 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
JavaScript获取当前cpu使用率的方法
2015/12/15 Javascript
JavaScript的函数式编程基础指南
2016/03/19 Javascript
基于javascript实现的快速排序
2016/12/02 Javascript
jQuery获取随机颜色的实例代码
2018/05/21 jQuery
vue 1.0 结合animate.css定义动画效果
2018/07/11 Javascript
微信小程序自定义导航栏
2018/12/31 Javascript
vue-cli3环境变量与分环境打包的方法示例
2019/02/18 Javascript
用Vue编写抽象组件的方法
2019/05/06 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
javascript实现京东快递单号的查询效果
2020/11/30 Javascript
python实现socket客户端和服务端简单示例
2014/02/24 Python
python处理文本文件实现生成指定格式文件的方法
2014/07/31 Python
Python设计模式编程中Adapter适配器模式的使用实例
2016/03/02 Python
使用Python来开发Markdown脚本扩展的实例分享
2016/03/04 Python
PyQt5每天必学之拖放事件
2020/08/27 Python
对Python的zip函数妙用,旋转矩阵详解
2018/12/13 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
基于python监控程序是否关闭
2020/01/14 Python
python中数据库like模糊查询方式
2020/03/02 Python
python字典和json.dumps()的遇到的坑分析
2020/03/11 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
美国快时尚彩妆品牌:Winky Lux(透明花瓣润唇膏)
2018/11/06 全球购物
New Balance俄罗斯官方网上商店:购买运动鞋
2020/03/02 全球购物
2014年基层党组织公开承诺书
2014/03/29 职场文书
2015年效能监察工作总结
2015/04/23 职场文书