vue配置代理

本文详细介绍了如何在Vue项目中使用vue.config.js、http-proxy-middleware库和axios库配置代理服务器,以及注意事项,包括处理跨域问题和开发环境与生产环境的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 使用vue.config.js文件配置代理:
在Vue项目的根目录下创建一个vue.config.js文件,并添加以下代码:

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://api.example.com',
        changeOrigin: true,
        secure:false,
        pathRewrite: {
          '^/api': '/'
        }
      }
    }
  }
}

上述代码中,我们使用devServer配置项来配置代理服务器。其中proxy属性用于配置代理的规则,
/api表示需要代理的接口路径。
target属性表示代理的目标服务器地址,
changeOrigin属性表示是否改变请求的源地址,
pathRewrite属性用于重写请求的路径。

2. 使用http-proxy-middleware库配置代理:
在Vue项目的根目录下创建一个vue.config.js文件,并添加以下代码:

const proxyMiddleware = require('http-proxy-middleware');
 
module.exports = {
  devServer: {
    before(app) {
      app.use(
        '/api',
        proxyMiddleware({
          target: 'http://api.example.com',
          changeOrigin: true,
          pathRewrite: {
            '^/api': ''
          }
        })
      );
    }
  }
}

上述代码中,我们使用http-proxy-middleware库来配置代理服务器。在before方法中,通过app.use方法来使用代理中间件。
'/api’表示需要代理的接口路径,
target属性表示代理的目标服务器地址,
changeOrigin属性表示是否改变请求的源地址,
pathRewrite属性用于重写请求的路径。

3. 使用axios库的代理配置:
如果项目中使用了axios库来发送请求,可以直接在axios的配置中配置代理。在项目的入口文件(比如main.js)中添加以下代码:

import axios from 'axios';
 
axios.defaults.baseURL = '/api';
axios.defaults.proxy = {
  host: 'http://api.example.com',
  port: 80,
  protocol: 'http'
};

上述代码中,我们通过修改axios的默认配置来配置代理。
axios.defaults.baseURL表示请求的基础路径,
axios.defaults.proxy表示代理的配置,包括代理服务器的地址、端口和协议。

以上是三种常见的配置代理服务器的方法,根据项目的具体情况选择适合的方法进行配置。需要注意的是,配置代理服务器时需要注意跨域问题,并且在开发环境中生效,在生产环境中需要使用其他方式进行代理配置。

需要在链接的前面添加前缀 /api/

 this.$apiPost('/api/...', data).then((res) => {
        console.log(res)
      })
      .catch((err) => {
        console.log(err)
      })

最后需要重新启动 最后在执行一次

npm run serve
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.youkuaiyun.com/xiaomingzi_12345/article/details/131920430

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值