vite 设置网络代理

参考文档:vite 官网node-http-proxy

完整示例:

export default defineConfig({
  server: {
    proxy: {
      // 字符串简写写法
      '/foo': 'http://localhost:4567',
      // 选项写法
      '/api': {
        target: 'http://jsonplaceholder.typicode.com',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, '')
      },
      // 正则表达式写法
      '^/fallback/.*': {
        target: 'http://jsonplaceholder.typicode.com',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/fallback/, '')
      },
      // 使用 proxy 实例
      '/api': {
        target: 'http://jsonplaceholder.typicode.com',
        changeOrigin: true,
        configure: (proxy, options) => {
          // proxy 是 'http-proxy' 的实例
        }
      }
    }
  }
})

属性说明:

  1. target:是目标地址,示例 '/foo': 'http://abc:4567' 中,当一个完整的请求 http://loaclhost:8080/foo/login 在匹配到关键词 /foo 后将代理到地址 http://abc:4567/foo/login 上,需要注意的是替换的是关键词前面的内容,关键词包括后面的内容将会原封不动的添加到目标地址上。
  2. changeOrigin:true/false,默认值:false,将请求头的源(origin)更改为 target 的 URL
  3. secure: true/false, 是否验证 https 的 ssl 证书
  4. rewrite:重写地址,是一个函数,接收一个地址,修改后并返回此地址
posted @ 2024-10-26 16:31  下一个彭于晏  阅读(207)  评论(0编辑  收藏  举报