webpack基础——proxy代理

只能在开发环境下使用
当请求某个地址时,前面的域名都是重复且长,除了包装请求工具之外,还可以通过 devServe 的 proxy 实现

module.exports = {
  devServer: {
    static: './dist',
    proxy: {
      '/abc': {    //当请求任何一个以 /abc 开头的地址时,都会往前面加上 http://baicu.com/
        target: 'http://baicu.com/',
        changeOrigin: true
      }
    }
  },
..............

没有上面配置时:

axios.get('http://www.baidu.com/abc/user')

和有上面配置时:

axios.get('/abc/user)

是同样效果

为了标志请求的路径,还可以在前面自定义一个名字,比方说 /api ,那就请求

axios.get('/api/abc/user')

在webpakc.config.js里需要再配置一项

devServer: {
    static: './dist',
    proxy: {
      '/abc': {    //当请求任何一个以 /abc 开头的地址时,都会往前面加上 http://baicu.com/
        target: 'http://baicu.com/',
        changeOrigin: true,
        pathRewrite: { //重写
          '/^api/': ''  //用正则把自定义的标志取出来,替换成'' 空字符串
        }
      }
    }
  },

posted on 2022-06-15 00:30  In-6026  阅读(627)  评论(0编辑  收藏  举报

导航