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 选项卡效果(JS与HTML的分离)
Apr 01 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
Apr 12 Javascript
兼容主流浏览器的JS复制内容到剪贴板
Dec 12 Javascript
jQuery之DOM对象和jQuery对象的转换与区别分析
Jan 08 Javascript
JQuery自动触发事件的方法
Jun 13 Javascript
php结合imgareaselect实现图片裁剪
Jul 05 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
Feb 08 Javascript
MUI 上拉刷新/下拉加载功能实例代码
Apr 13 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
Nov 30 Javascript
详解Element-UI中上传的文件前端处理
Aug 07 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
Sep 04 Javascript
js实现拖拽与碰撞检测
Sep 18 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
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
利用js调用后台php进行数据处理原码
2006/10/09 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
php 实现银联商务H5支付的示例代码
2019/10/12 PHP
深入理解JavaScript定时机制
2010/10/29 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
javascript arguments使用示例
2014/12/16 Javascript
jquery对象访问是什么及使用方法介绍
2016/05/03 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
2016/08/16 Javascript
javascript 动态样式添加的简单实现
2016/10/11 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
2017/09/28 Javascript
在React项目中使用Eslint代码检查工具及常见问题
2018/10/10 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
Vue 技巧之控制父类的 slot
2020/02/24 Javascript
详细介绍Ruby中的正则表达式
2015/04/10 Python
python中判断文件编码的chardet(实例讲解)
2017/12/21 Python
500行python代码实现飞机大战
2020/04/24 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
使用Python实现微信拍一拍功能的思路代码
2020/07/09 Python
如何在python中实现线性回归
2020/08/10 Python
python实现每天自动签到领积分的示例代码
2020/08/18 Python
python 实现控制鼠标键盘
2020/11/27 Python
详解numpy1.19.4与python3.9版本冲突解决
2020/12/15 Python
使用html5制作loading图的示例
2014/04/14 HTML / CSS
app内嵌H5 webview 本地缓存问题的解决
2020/10/19 HTML / CSS
科尔士百货公司官网:Kohl’s
2016/07/11 全球购物
50道外企软件测试面试题
2014/08/18 面试题
大学生饮食配送创业计划书
2014/01/04 职场文书
yy婚礼主持词
2014/03/14 职场文书
民间借贷协议书范本
2014/10/01 职场文书
幼儿园托班教育随笔
2015/08/14 职场文书
检讨书范文
2019/04/16 职场文书
vue实现拖拽交换位置
2022/04/07 Vue.js