From 41a00dff62ee2ae60099953b1d3cc91f7bad0d7d Mon Sep 17 00:00:00 2001 From: ygj6 Date: Fri, 23 Jul 2021 20:39:12 +0800 Subject: [PATCH] fix: fix pre-bundling executes multiple times (#3640) --- packages/vite/src/node/server/index.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index d380d0029b1a9c..a64d13a5e0fafd 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -548,15 +548,19 @@ export async function createServer( } if (!middlewareMode && httpServer) { + let isOptimized = false // overwrite listen to run optimizer before server start const listen = httpServer.listen.bind(httpServer) httpServer.listen = (async (port: number, ...args: any[]) => { - try { - await container.buildStart({}) - await runOptimize() - } catch (e) { - httpServer.emit('error', e) - return + if (!isOptimized) { + try { + await container.buildStart({}) + await runOptimize() + isOptimized = true + } catch (e) { + httpServer.emit('error', e) + return + } } return listen(port, ...args) }) as any