初始提交:姜十三论坛 Jiang13 Forum

轻量自用论坛,Go 单二进制 + React SPA 内嵌 + SQLite。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
freefire
2026-06-15 21:08:52 +08:00
commit e1c1708715
140 changed files with 16115 additions and 0 deletions

46
frontend/vite.config.ts Normal file
View File

@@ -0,0 +1,46 @@
import path from 'path';
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
// 与 Go 后端默认端口一致,可通过 VITE_API_PORT 覆盖
const apiPort = process.env.VITE_API_PORT || '3000';
const apiTarget = `http://localhost:${apiPort}`;
export default defineConfig({
plugins: [react()],
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
},
},
base: '/',
build: {
outDir: '../embed_static/static/spa',
emptyOutDir: true,
rollupOptions: {
output: {
manualChunks(id) {
if (!id.includes('node_modules')) return;
if (id.includes('marked') || id.includes('dompurify')) return 'markdown-vendor';
if (id.includes('@tanstack/react-virtual')) return 'virtual-vendor';
if (id.includes('@radix-ui') || id.includes('lucide-react')) return 'ui-vendor';
if (
id.includes('react-dom')
|| id.includes('react-router')
|| /[/\\]node_modules[/\\]react[/\\]/.test(id)
) {
return 'react-vendor';
}
},
},
},
},
server: {
port: 5173,
strictPort: true,
proxy: {
'/api': apiTarget,
'/uploads': apiTarget,
},
},
});