全面的前端编程教程 - 秘密武器开发者中心

热搜:m1 代理 前端 301

在 vue.config.js 项目中配置 proxy 解决跨域问题

2021-10-12 16:23:14

在 Vue.js 项目中,你可以通过在 vue.config.js 文件中配置代理服务器来解决跨域问题。Vue CLI 提供了一种方法,即使用 devServer.proxy 选项。以下是一个基本的例子
module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: '<url>', //你要代理的服务器地址
        ws: true, //是否代理 websockets
        changeOrigin: true, //是否允许跨域,在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据
        pathRewrite: {
          '^/api': '' //这里理解成用'/api'代替target里面的地址,后面的组件中我们掉接口时直接用/api代替
        }
      }
    }
  }
}


请将 <url> 替换为你希望代理的服务器地址。你可以把它当作一个映射表,用于把某个 URL 的前缀映射到某个 URL 目标上。例如,你在进行开发时,可能会有一些 API 请求需要发送给开发服务器,这时,你就可以通过配置这个 proxy 选项来将这些 API 请求发送给开发服务器,而非直接发送给生产服务器。
 
module.exports = {
    devServer: {
        open: true,
        host: 'localhost',
        port: 8000,
        https: false,
        //以上的ip和端口是我们本机的;下面为需要跨域的
        proxy: { //配置跨域
            '/api': {
                target: 'http://127.0.0.1:8000/api/', //这里后台的地址模拟的;应该填写你们真实的后台接口
                ws: true,
                changOrigin: true, //允许跨域
                pathRewrite: {
                    '^/api': '' //请求的时候使用这个api就可以
                }
            }
        }
    }
}