import express from "express"; import vite from "vite"; import ssr from "./ssr.js"; (async () => { const app = express(); const port = process.env.PORT || 3000; // create vite dev server in middleware mode // so vite creates the hmr websocket server on its own. // the ws server will be listening at port 24678 by default, and can be // configured via server.hmr.port const viteServer = await vite.createServer({ server: { middlewareMode: true, }, }); // use vite's connect instance as middleware app.use(viteServer.middlewares); app.get("*", (req, res, next) => { console.log(`Hello World! ${process.env.NODE_ENV}`); next(); }); app.use("*", ssr(viteServer.transformRequest("/src/App.jsx"))); // app.use(express.static("template")); // app.use(express.static("public")); app.listen(port, () => { console.log( `Example app listening at http://localhost:${port} (${process.env.NODE_ENV})` ); }); })();