mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-05-06 20:43:03 +08:00
52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
const path = require('node:path')
|
|
const express = require('express')
|
|
const proxy = require('express-http-proxy')
|
|
|
|
const app = express()
|
|
const port = process.env.NGINX_PORT || 3000
|
|
|
|
// 后端 API 地址
|
|
const proxyConfig = {
|
|
URL: '127.0.0.1',
|
|
PORT: process.env.PORT || 3001
|
|
}
|
|
|
|
// 静态文件服务目录
|
|
app.use(express.static(__dirname))
|
|
|
|
// 配置代理中间件将请求转发给后端API
|
|
app.use(
|
|
'/api',
|
|
proxy(`${proxyConfig.URL}:${proxyConfig.PORT}`, {
|
|
// 路径加上 /api 前缀
|
|
proxyReqPathResolver: (req) => {
|
|
return `/api${req.url}`
|
|
}
|
|
})
|
|
);
|
|
|
|
// 配置代理中间件将CookieCloud请求转发给后端API
|
|
app.use(
|
|
'/cookiecloud',
|
|
proxy(`${proxyConfig.URL}:${proxyConfig.PORT}`, {
|
|
// 路径加上 /cookiecloud 前缀
|
|
proxyReqPathResolver: (req) => {
|
|
return `/cookiecloud${req.url}`
|
|
}
|
|
})
|
|
);
|
|
|
|
// 处理根路径的请求
|
|
app.get('/', (req, res) => {
|
|
res.sendFile(path.join(__dirname, 'index.html'))
|
|
})
|
|
|
|
// 处理所有其他请求,重定向到前端入口文件
|
|
app.get('*', (req, res) => {
|
|
res.sendFile(path.join(__dirname, 'index.html'))
|
|
})
|
|
|
|
app.listen(port, () => {
|
|
console.log(`Server is running on port ${port}`)
|
|
})
|