Files
locobook/vite.config.js
T

62 lines
1.2 KiB
JavaScript

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import tailwindcss from '@tailwindcss/vite'
import { spawn } from 'child_process'
import path from 'path'
import { fileURLToPath } from 'url'
const __dirname = path.dirname(fileURLToPath(import.meta.url))
// 启动后端服务器
let backendProcess = null
function startBackend() {
if (backendProcess) return
console.log('🚀 Starting Loco backend server...')
backendProcess = spawn('cargo', ['loco', 'start'], {
cwd: path.join(__dirname, 'src-loco'),
stdio: 'inherit',
shell: true
})
backendProcess.on('error', (err) => {
console.error('Failed to start backend:', err)
})
backendProcess.on('exit', (code) => {
console.log(`Backend server exited with code ${code}`)
backendProcess = null
})
}
export default defineConfig({
plugins: [
vue(),
tailwindcss(),
{
name: 'start-backend',
configureServer() {
startBackend()
}
}
],
resolve: {
alias: {
'@': path.resolve(__dirname, './src')
}
},
server: {
port: 5173,
proxy: {
'/api': {
target: 'http://localhost:5150',
changeOrigin: true
}
}
},
build: {
outDir: 'dist'
}
})