vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue.config.js使用代理配置真实请求url

vue.config.js使用代理配置真实请求url方式

作者:程序媛_panpan

这篇文章主要介绍了vue.config.js使用代理配置真实请求url方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue.config.js使用代理配置真实请求url

前端请求接口过程中会统一配置代理请求url,配置之后浏览器只能看到local host路径。

为方便查看请求的真实ip,需要在vue.config.js中做如下配置,便能在浏览器实时查看到真实地址

  devServer: {
   //端口配置
    port: '9080',
    open: true,
    //host: 'localhost',打开之后不能使用IP访问项目
    proxy: {
      '/basic': {
        target: process.env.VUE_APP_BASE_API,//配置文件的请求url
        // target: 'http://10.31.126.172:9080',
        changeOrigin: true,
        ws: true,
        // pathRewrite: { '^/api': '' },
        onProxyRes(proxyRes, req, res) {
          //在控制台显示真实代理地址
          const realUrl = new URL(req.url || '',process.env.VUE_APP_BASE_API)?.href || ''
          proxyRes.headers['x-real-url'] = realUrl
        },
      },
    },
  },

配置完重启,效果如下:

vue代理配置的理解(vue.config.js)

module.exports = {
  // 其他配置
  ...... 
  // 代理配置
  devServer: {
    https: true, // 默认是false, 默认就是http协议,true将http协议转换为https协议
    // 代理配置
    proxy: {
      '/api': { // 配置需要代理的路径 --> 这里的意思是代理http://localhost:80/api/后的所有路由
        target: 'https://172.20.9.153:8085', // 目标地址 --> 服务器地址
        changeOrigin: true, // 允许跨域
        ws: true,  // 允许websocket代理
        // 如果这里没有进行路径重写,当你访问http://localhost:80/api/login/,实际上访问的就是https://172.20.9.153:8085/api/login/
        pathRewrite: { // 重写代理路径
          // 就是把路径中的api都替换为空的字符串
          '^/api': '', // 因为服务端地址里面是没有api字段的,api只是为了区别需要代理的路径,如果服务端有api字段则不需要重新    
        }
      }
    }
  }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文