1import { createRequestHandler } from '@react-router/express'
2import express from 'express'
3
4const app = express()
5
6if (process.env.NODE_ENV === 'production') {
7 app.use(express.static('build/client'))
8 app.use(
9 createRequestHandler({
10 build: await import('./build/server')
11 })
12 )
13} else {
14 const viteDevServer = await import('vite').then((vite) =>
15 vite.createServer({
16 server: { middlewareMode: true }
17 })
18 )
19 app.use(viteDevServer.middlewares)
20 app.use(
21 createRequestHandler({
22 build: () =>
23 viteDevServer.ssrLoadModule('virtual:react-router/server-build')
24 })
25 )
26}
27
28const PORT = Number(process.env.PORT ?? 5173)
29const HOST = process.env.HOST ?? '127.0.0.1'
30
31app.listen(PORT, HOST, () => {
32 console.log(`Server is running on http://${HOST}:${PORT}`)
33})