微信小程序平台_Vue项现在后端联调(使用proxyTab

2021-01-05 12:54

Vue项目前后端联调(使用proxyTable实现跨域方式)       这篇文章主要介绍了Vue项目前后端联调(使用proxyTable实现跨域方式),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

vue本地项目调试线上接口出现跨域问题

使用方法:vue在配置文件中提供了proxyTable来设置跨域,在config文件夹的index.js文件中

dev: { //开发环境下
 // 静态资源文件夹
 assetsSubDirectory: 'static',
 // 发布路径
 assetsPublicPath: '/',
 // 代理配置表,在这里可以配置特定的请求代理到对应的API接口
 // 例如将'localhost:8080/api/xxx'代理到'xxx'
 proxyTable: {
 '/api': {
 target: '/ 接口的域名
 // secure: false, // 如果是htt凡科抠图接口,需要配置这个参数
 changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
 pathRewrite: {
 '^/api': '', // 这种接口配置出来 xxx
}

关于pathRewrite中'^/api'的作用:

用代理, 首先你得有一个标识, 告诉他你这个连接要用代理. 不然的话, 可能你的 html, css, js这些静态资源都跑去代理. 所以我们只要接口用代理, 静态文件用本地。

'/api': {}, 就是告诉node, 我接口只要是'/api'开头的才用代理.所以你的接口就要这么写 /api/xx/xx. 最后代理的路径就是 api/xx/xx.

可是不对啊, 我正确的接口路径里面没有/api啊. 所以就需要 pathRewrite,用''^/api'':'', 把'/api'去掉, 这样既能有正确标识, 又能在请求接口的时候去掉api

补充知识:vue2./vue.3.x实现跨域(proxytable/proxy)

vue2.x

config/index.js

proxyTable: {
 '/api': {
 target: '', // 请求的接口的域名
 // secure: false, // 如果是htt凡科抠图接口,需要配置这个参数
 changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
 pathRewrite: {
 '^/api': ''
 },

vue3.x

vue.config.js

 module.exports = {
 devServer: {
 proxy: {
 '/api': {
 target: '',
 changeOrigin: true,
 ws: true,
 pathRewrite: {
 '^/api': '/static/mock'
 }

以上这篇Vue项目前后端联调(使用proxyTable实现跨域方式)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持凡科。




扫描二维码分享到微信

在线咨询
联系电话

020-66889888