vulgar5201 | ef2b41e | 2025-06-05 19:09:44 +0800 | [diff] [blame] | 1 | // vue.config.js
|
Xing Jinwen | ff16b1e | 2025-06-05 00:29:26 +0800 | [diff] [blame] | 2 | const { defineConfig } = require('@vue/cli-service')
|
| 3 |
|
| 4 | module.exports = defineConfig({
|
| 5 | transpileDependencies: true,
|
vulgar5201 | ef2b41e | 2025-06-05 19:09:44 +0800 | [diff] [blame] | 6 |
|
| 7 | /* dev 服务只跑在 8080;真正的后端地址改用
|
| 8 | 环境变量 VUE_APP_BACKEND,默认仍指向 8081 */
|
Xing Jinwen | ff16b1e | 2025-06-05 00:29:26 +0800 | [diff] [blame] | 9 | devServer: {
|
| 10 | port: 8080,
|
| 11 | proxy: {
|
vulgar5201 | ef2b41e | 2025-06-05 19:09:44 +0800 | [diff] [blame] | 12 | // ❶ 统一以 /api 开头的请求全部反向代理
|
Xing Jinwen | ff16b1e | 2025-06-05 00:29:26 +0800 | [diff] [blame] | 13 | '/api': {
|
vulgar5201 | ef2b41e | 2025-06-05 19:09:44 +0800 | [diff] [blame] | 14 | target: process.env.VUE_APP_BACKEND || 'http://localhost:8081',
|
Xing Jinwen | ff16b1e | 2025-06-05 00:29:26 +0800 | [diff] [blame] | 15 | changeOrigin: true,
|
| 16 | ws: true,
|
vulgar5201 | c4a15b1 | 2025-06-06 13:55:09 +0800 | [diff] [blame] | 17 | secure: false,
|
| 18 | logLevel: 'debug',
|
| 19 | onProxyReq: (proxyReq, req, res) => {
|
| 20 | console.log('🔄 代理请求:', req.method, req.url, '→', 'http://localhost:8081' + req.url)
|
| 21 | },
|
| 22 | onProxyRes: (proxyRes, req, res) => {
|
| 23 | console.log('📨 代理响应:', proxyRes.statusCode, req.url)
|
| 24 | },
|
| 25 | onError: (err, req, res) => {
|
| 26 | console.error('❌ 代理错误:', err.message)
|
| 27 | }
|
| 28 | },// 这里需要闭合 /api 的配置
|
vulgar5201 | ef2b41e | 2025-06-05 19:09:44 +0800 | [diff] [blame] | 29 |
|
| 30 | /* ❷ 可选:如果你项目里还有没改完的
|
| 31 | /category、/torrent、/auth 旧写法,保留兼容性。
|
| 32 | 改完之后,把这一段删掉也行。 */
|
vulgar5201 | 055346a | 2025-06-05 14:15:55 +0800 | [diff] [blame] | 33 | '/category': {
|
vulgar5201 | ef2b41e | 2025-06-05 19:09:44 +0800 | [diff] [blame] | 34 | target: process.env.VUE_APP_BACKEND || 'http://localhost:8081',
|
vulgar5201 | 055346a | 2025-06-05 14:15:55 +0800 | [diff] [blame] | 35 | changeOrigin: true,
|
vulgar5201 | ef2b41e | 2025-06-05 19:09:44 +0800 | [diff] [blame] | 36 | pathRewrite: { '^/category': '/api/category' }
|
vulgar5201 | 055346a | 2025-06-05 14:15:55 +0800 | [diff] [blame] | 37 | },
|
| 38 | '/torrent': {
|
vulgar5201 | ef2b41e | 2025-06-05 19:09:44 +0800 | [diff] [blame] | 39 | target: process.env.VUE_APP_BACKEND || 'http://localhost:8081',
|
vulgar5201 | 055346a | 2025-06-05 14:15:55 +0800 | [diff] [blame] | 40 | changeOrigin: true,
|
vulgar5201 | ef2b41e | 2025-06-05 19:09:44 +0800 | [diff] [blame] | 41 | pathRewrite: { '^/torrent': '/api/torrent' }
|
vulgar5201 | 055346a | 2025-06-05 14:15:55 +0800 | [diff] [blame] | 42 | },
|
| 43 | '/auth': {
|
vulgar5201 | ef2b41e | 2025-06-05 19:09:44 +0800 | [diff] [blame] | 44 | target: process.env.VUE_APP_BACKEND || 'http://localhost:8081',
|
vulgar5201 | 055346a | 2025-06-05 14:15:55 +0800 | [diff] [blame] | 45 | changeOrigin: true,
|
vulgar5201 | ef2b41e | 2025-06-05 19:09:44 +0800 | [diff] [blame] | 46 | pathRewrite: { '^/auth': '/api/auth' }
|
Xing Jinwen | ff16b1e | 2025-06-05 00:29:26 +0800 | [diff] [blame] | 47 | }
|
| 48 | }
|
| 49 | }
|
vulgar5201 | c4a15b1 | 2025-06-06 13:55:09 +0800 | [diff] [blame] | 50 | }) |