1 Star 0 Fork 15

Onefirst/element-plus-admin-mini

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
vite.dynamic.proxy.js 1.21 KB
一键复制 编辑 原始数据 按行查看 历史
webSir 提交于 2023-09-28 14:31 . init
//debugger反向自动代理
import httpProxy from 'http-proxy'
var proxy = httpProxy.createProxyServer({
secure: false //可接受自签证书
})
export default function (options) {
return {
name: 'dynamic-proxy',
configureServer(server) {
options = Object.assign(
{
path: '/api',
default: 'https://www.baidu.com',
changeOrigin: true
},
options
)
server.middlewares.use((req, res, next) => {
if (options.path instanceof RegExp === false) {
options.path = new RegExp('^' + options.path)
}
let u = new URL(req.url, 'http://localhost')
if (options.path.test(u.pathname)) {
let urlObj = new URL(req.headers.referer)
var debug = urlObj.search.slice(1).match(new RegExp('(^|&)debug=([^&]*)(&|$)', 'i'))
debug = debug ? debug[2] : options.default
req.url = req.url.replace(options.path, '')
proxy.web(req, res, {
changeOrigin: true,
target: debug
})
proxy.on('error', (err) => {
res.statusCode = 500
res.end(err.message)
})
} else {
next()
}
})
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/one-first-o/element-plus-admin-mini.git
git@gitee.com:one-first-o/element-plus-admin-mini.git
one-first-o
element-plus-admin-mini
element-plus-admin-mini
master

搜索帮助