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 相关文章推荐
刷新时清空文本框内容的js代码
Apr 23 Javascript
JS实现很酷的EMAIL地址添加功能实例
Feb 28 Javascript
jQuery定义插件的方法
Dec 18 Javascript
javascript事件冒泡简单示例
Jun 20 Javascript
微信小程序-详解数据缓存
Nov 24 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
Dec 13 Javascript
Vue.js路由vue-router使用方法详解
Mar 20 Javascript
vue-router路由与页面间导航实例解析
Nov 07 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
Aug 28 Javascript
vue-cli3.0 环境变量与模式配置方法
Nov 08 Javascript
node.js开发辅助工具nodemon安装与配置详解
Feb 06 Javascript
详解ES6实现类的私有变量的几种写法
Feb 10 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中for循环语句的几种变型
2006/11/26 PHP
php mssql 时间格式问题
2009/01/13 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
php操作MongoDB类实例
2015/06/17 PHP
关于PHP开发的9条建议
2015/07/27 PHP
php连接oracle数据库的核心步骤
2016/05/26 PHP
PHP+redis实现的购物车单例类示例
2019/02/02 PHP
yui3的AOP(面向切面编程)和OOP(面向对象编程)
2015/05/01 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
Javascript实现鼠标框选操作  不是点击选取
2016/04/14 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
JavaScript实现图片懒加载(Lazyload)
2016/11/28 Javascript
JavaScript实现格式化字符串函数String.format
2016/12/16 Javascript
两种简单的跨域方法(jsonp、php)
2017/01/02 Javascript
shiro授权的实现原理
2017/09/21 Javascript
微信小程序之多文件下载的简单封装示例
2018/01/29 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
JS实现烟花爆炸效果
2020/03/10 Javascript
vue开发移动端底部导航条功能
2020/04/08 Javascript
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
使用Pyinstaller的最新踩坑实战记录
2017/11/08 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
python 实现围棋游戏(纯tkinter gui)
2020/11/13 Python
CSS3中线性颜色渐变的一些实现方法
2015/07/14 HTML / CSS
非常震撼的纯CSS3人物行走动画
2016/02/24 HTML / CSS
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
2013年军训通讯稿
2014/02/05 职场文书
医师定期考核实施方案
2014/05/07 职场文书
公司联欢会策划方案
2014/05/19 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
股份转让协议书范本
2015/01/27 职场文书
Python超简单容易上手的画图工具库推荐
2021/05/10 Python