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' 的实例
}
}
}
}
})
属性说明:
- target:是目标地址,示例
'/foo': 'http://abc:4567'
中,当一个完整的请求 http://loaclhost:8080/foo/login 在匹配到关键词 /foo 后将代理到地址 http://abc:4567/foo/login 上,需要注意的是替换的是关键词前面的内容,关键词包括后面的内容将会原封不动的添加到目标地址上。 - changeOrigin:true/false,默认值:false,将请求头的源(origin)更改为 target 的 URL
- secure: true/false, 是否验证 https 的 ssl 证书
- rewrite:重写地址,是一个函数,接收一个地址,修改后并返回此地址