heritage-frontend/build/proxy.ts
Leo 80ab2736c9 文档:添加公共资源和项目文档
- 添加公共静态资源(public/)
- 添加项目文档(doc/)
- 添加项目说明文档(README.md, README.zh-CN.md)
- 添加Claude开发规范文档(CLAUDE.md)
- 添加开源许可证(LICENSE)
- 添加构建脚本(build/)
- 添加国际化资源(locales/)
- 添加编辑器配置(.vscode/)
- 添加GitHub工作流配置(.github/)
2025-10-08 02:24:28 +08:00

33 lines
808 B
TypeScript

import type { ProxyOptions } from 'vite'
import { mapEntries } from 'radash'
export function generateProxyPattern(envConfig: Record<string, string>) {
return mapEntries(envConfig, (key, value) => {
return [
key,
{
value,
proxy: `/proxy-${key}`,
},
]
})
}
/**
* @description: 生成vite代理字段
* @param {*} envConfig - 环境变量配置
*/
export function createViteProxy(envConfig: Record<string, string>) {
const proxyMap = generateProxyPattern(envConfig)
return mapEntries(proxyMap, (key, value) => {
return [
value.proxy,
{
target: value.value,
changeOrigin: true,
rewrite: (path: string) => path.replace(new RegExp(`^${value.proxy}`), ''),
},
]
}) as Record<string, string | ProxyOptions>
}