Template
28 lines
832 B
TypeScript
28 lines
832 B
TypeScript
import react, { reactCompilerPreset } from '@vitejs/plugin-react'
|
|
import babel from '@rolldown/plugin-babel'
|
|
import tailwindcss from '@tailwindcss/vite'
|
|
import { defineConfig, type Plugin } from 'vite'
|
|
import { startMockServer } from './mock/server.mjs'
|
|
|
|
// Runs the mock API (mock/server.mjs) during `vite dev` and kills it on exit.
|
|
function mockApi(): Plugin {
|
|
let server: ReturnType<typeof startMockServer> | undefined
|
|
return {
|
|
name: 'mock-api',
|
|
configureServer(devServer) {
|
|
server = startMockServer()
|
|
devServer.httpServer?.once('close', () => server?.close())
|
|
},
|
|
}
|
|
}
|
|
|
|
// https://vite.dev/config/
|
|
export default defineConfig({
|
|
plugins: [react(), tailwindcss(), babel({ presets: [reactCompilerPreset()] }), mockApi()],
|
|
server: {
|
|
proxy: {
|
|
'/api': 'http://localhost:8787',
|
|
},
|
|
},
|
|
})
|