如何通过Vue项目使用proxyTable实现前后端联调并解决跨域问题?

2026-04-03 00:031阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计493个文字,预计阅读时间需要2分钟。

如何通过Vue项目使用proxyTable实现前后端联调并解决跨域问题?

在Vue本地项目中,若线上接口出现跨域问题,可以使用以下方法解决:

Vue在配置文件中提供了proxyTable来设置跨域代理。在config文件夹的index.js文件中,添加如下配置:

javascriptdev: { // 开发环境配置 proxyTable: { // 跨域代理配置 '/api': { target: 'http://yourdomain.com', // 目标API地址 changeOrigin: true, // 是否改变域名 pathRewrite: { '^/api': '' // 重写路径,去掉路径中的'/api' } } }}

如何通过Vue项目使用proxyTable实现前后端联调并解决跨域问题?

这样,当访问`/api`开头的接口时,会被代理到`http://yourdomain.com`。

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

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

dev: { //开发环境下 // 静态资源文件夹 assetsSubDirectory: 'static', // 发布路径 assetsPublicPath: '/', // 代理配置表,在这里可以配置特定的请求代理到对应的API接口 // 例如将'localhost:8080/api/xxx'代理到'xxxxxxx.com/xxx' proxyTable: { '/api': { target: 'xxxxxx.com', // 接口的域名 // secure: false, // 如果是xxxxxx.com:8080/xxx } } } }

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

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

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

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

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

vue2.x

config/index.js

proxyTable: { '/api': { target: 'localhost:3000/', // 请求的接口的域名 // secure: false, // 如果是localhost:8080/', changeOrigin: true, ws: true, pathRewrite: { '^/api': '/static/mock' } } } } }

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

本文共计493个文字,预计阅读时间需要2分钟。

如何通过Vue项目使用proxyTable实现前后端联调并解决跨域问题?

在Vue本地项目中,若线上接口出现跨域问题,可以使用以下方法解决:

Vue在配置文件中提供了proxyTable来设置跨域代理。在config文件夹的index.js文件中,添加如下配置:

javascriptdev: { // 开发环境配置 proxyTable: { // 跨域代理配置 '/api': { target: 'http://yourdomain.com', // 目标API地址 changeOrigin: true, // 是否改变域名 pathRewrite: { '^/api': '' // 重写路径,去掉路径中的'/api' } } }}

如何通过Vue项目使用proxyTable实现前后端联调并解决跨域问题?

这样,当访问`/api`开头的接口时,会被代理到`http://yourdomain.com`。

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

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

dev: { //开发环境下 // 静态资源文件夹 assetsSubDirectory: 'static', // 发布路径 assetsPublicPath: '/', // 代理配置表,在这里可以配置特定的请求代理到对应的API接口 // 例如将'localhost:8080/api/xxx'代理到'xxxxxxx.com/xxx' proxyTable: { '/api': { target: 'xxxxxx.com', // 接口的域名 // secure: false, // 如果是xxxxxx.com:8080/xxx } } } }

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

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

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

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

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

vue2.x

config/index.js

proxyTable: { '/api': { target: 'localhost:3000/', // 请求的接口的域名 // secure: false, // 如果是localhost:8080/', changeOrigin: true, ws: true, pathRewrite: { '^/api': '/static/mock' } } } } }

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