import type { ProxyOptions } from 'vite' type ProxyItem = [string, string] type ProxyList = ProxyItem[] type ProxyTargetList = Record /** * 创建代理,用于解析 .env.development 代理配置 * @param list */ export function createProxy(list: ProxyList = []) { const ret: ProxyTargetList = {} for (const [prefix, target] of list) { const httpsRE = /^https:\/\// const isHttps = httpsRE.test(target) console.log('list', list) // https://github.com/http-party/node-http-proxy#options ret[prefix] = { target: target, changeOrigin: true, ws: true, rewrite: path => path.replace(new RegExp(`^${prefix}`), ''), // https is require secure=false ...(isHttps ? { secure: false } : {}) } } return ret }