From 843c87915082b36f7d1ffeb81515b45d5d65aabb Mon Sep 17 00:00:00 2001 From: Kevin Hazy <0x142857@gmail.com> Date: Sat, 23 Jan 2021 04:22:37 +0800 Subject: [PATCH] fix: exclude spa-fallback middleware in middlewareMode (#1645) --- packages/vite/src/node/server/index.ts | 36 ++++++++++++++------------ 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index b39b59866b1834..129188a4b40d16 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -386,25 +386,27 @@ export async function createServer( middlewares.use(serveStaticMiddleware(root, config)) // spa fallback - middlewares.use( - history({ - logger: createDebugger('vite:spa-fallback'), - // support /dir/ without explicit index.html - rewrites: [ - { - from: /\/$/, - to({ parsedUrl }: any) { - const rewritten = parsedUrl.pathname + 'index.html' - if (fs.existsSync(path.join(root, rewritten))) { - return rewritten - } else { - return `/index.html` + if (!middlewareMode) { + middlewares.use( + history({ + logger: createDebugger('vite:spa-fallback'), + // support /dir/ without explicit index.html + rewrites: [ + { + from: /\/$/, + to({ parsedUrl }: any) { + const rewritten = parsedUrl.pathname + 'index.html' + if (fs.existsSync(path.join(root, rewritten))) { + return rewritten + } else { + return `/index.html` + } } } - } - ] - }) - ) + ] + }) + ) + } // run post config hooks // This is applied before the html middleware so that user middleware can