初始提交:姜十三论坛 Jiang13 Forum
轻量自用论坛,Go 单二进制 + React SPA 内嵌 + SQLite。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
46
frontend/vite.config.ts
Normal file
46
frontend/vite.config.ts
Normal 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,
|
||||
},
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user