diff --git a/packages/vite/src/client/client.ts b/packages/vite/src/client/client.ts index 350b2f537d139c..b2a62f0dd98eca 100644 --- a/packages/vite/src/client/client.ts +++ b/packages/vite/src/client/client.ts @@ -134,7 +134,11 @@ async function handleMessage(payload: HMRPayload) { sendMessageBuffer() // proxy(nginx, docker) hmr ws maybe caused timeout, // so send ping package let ws keep alive. - setInterval(() => socket.send('{"type":"ping"}'), __HMR_TIMEOUT__) + setInterval(() => { + if (socket.readyState === socket.OPEN) { + socket.send('{"type":"ping"}') + } + }, __HMR_TIMEOUT__) break case 'update': notifyListeners('vite:beforeUpdate', payload)