Skip to content

Commit c913545

Browse files
Fix vite production error with dynamic imports
1 parent 6c99550 commit c913545

2 files changed

Lines changed: 9 additions & 6 deletions

File tree

server/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// import './tracing'; // Disabled - dd-trace not needed for Railway deployment
22
import express, { type Request, Response, NextFunction } from "express";
33
import { registerRoutes } from "./routes";
4-
import { setupVite, serveStatic, log } from "./vite";
4+
import { serveStatic, log } from "./vite";
55
import https from 'https';
66
import fs from 'fs';
77

@@ -112,6 +112,7 @@ app.use((req, res, next) => {
112112
// setting up all the other routes so the catch-all route
113113
// doesn't interfere with the other routes
114114
if (app.get("env") === "development") {
115+
const { setupVite } = await import("./vite");
115116
await setupVite(app, server);
116117
} else {
117118
serveStatic(app);

server/vite.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11
import express, { type Express } from "express";
22
import fs from "fs";
33
import path from "path";
4-
import { createServer as createViteServer, createLogger } from "vite";
54
import { type Server } from "http";
6-
import viteConfig from "../vite.config";
7-
import { nanoid } from "nanoid";
8-
9-
const viteLogger = createLogger();
105

116
export function log(message: string, source = "express") {
127
const formattedTime = new Date().toLocaleTimeString("en-US", {
@@ -20,6 +15,13 @@ export function log(message: string, source = "express") {
2015
}
2116

2217
export async function setupVite(app: Express, server: Server) {
18+
// Dynamic imports to avoid loading vite in production
19+
const { createServer: createViteServer, createLogger } = await import("vite");
20+
const viteConfig = (await import("../vite.config")).default;
21+
const { nanoid } = await import("nanoid");
22+
23+
const viteLogger = createLogger();
24+
2325
const serverOptions = {
2426
middlewareMode: true,
2527
hmr: { server },

0 commit comments

Comments
 (0)