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打印网页部分内容的脚本
Nov 17 Javascript
javascript 避免闭包引发的问题
Mar 17 Javascript
使用原生javascript创建通用表单验证——更锋利的使用dom对象
Sep 13 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
Mar 02 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
Jan 13 Javascript
Javascript中神奇的this
Jan 20 Javascript
jquery组件WebUploader文件上传用法详解
Oct 23 Javascript
JS表单提交验证、input(type=number) 去三角 刷新验证码
Jun 21 Javascript
vue-resource拦截器设置头信息的实例
Oct 27 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
Sep 03 Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
Aug 06 Javascript
vue 在单页面应用里使用二级套嵌路由
Dec 19 Vue.js
完美解决通过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的远程图片抓取函数分享
2013/09/25 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
php实现根据IP地址获取其所在省市的方法
2015/04/30 PHP
PHP Hash算法:Times33算法代码实例
2015/05/13 PHP
php表单处理操作
2017/11/16 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
javascript for循环设法提高性能
2010/02/24 Javascript
jquery获取input表单值的代码
2010/04/19 Javascript
JS上传组件FileUpload自定义模板的使用方法
2016/05/10 Javascript
微信小程序 实战程序简易新闻的制作
2017/01/09 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
超详细小程序定位地图模块全系列开发教学
2020/11/24 Javascript
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
进一步探究Python的装饰器的运用
2015/05/05 Python
Python的组合模式与责任链模式编程示例
2016/02/02 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
python 实现UTC时间加减的方法
2018/12/31 Python
对Python的多进程锁的使用方法详解
2019/02/18 Python
Python提取频域特征知识点浅析
2019/03/04 Python
python 获取等间隔的数组实例
2019/07/04 Python
python 使用装饰器并记录log的示例代码
2019/07/12 Python
python初步实现word2vec操作
2020/06/09 Python
浅谈Python 参数与变量
2020/06/20 Python
次世代生活态度:Hypebeast
2018/07/05 全球购物
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
民政局副局长民主生活会个人对照检查材料
2014/09/19 职场文书
党的群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python
使用canvas仿Echarts实现金字塔图的实例代码
2021/11/11 HTML / CSS
MongoDB支持的索引类型
2022/04/11 MongoDB
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers