diff --git a/packages/vite/src/client/client.ts b/packages/vite/src/client/client.ts index 41dcebc5e27a3c..75fed49914e301 100644 --- a/packages/vite/src/client/client.ts +++ b/packages/vite/src/client/client.ts @@ -281,18 +281,27 @@ function notifyListeners(event: string, data: any): void { } const enableOverlay = __HMR_ENABLE_OVERLAY__ +const hasDocument = typeof document !== 'undefined' function createErrorOverlay(err: ErrorPayload['err']) { clearErrorOverlay() - document.body.appendChild(new ErrorOverlay(err)) + if (hasDocument) { + document.body.appendChild(new ErrorOverlay(err)) + } } function clearErrorOverlay() { - document.querySelectorAll(overlayId).forEach((n) => n.close()) + if (hasDocument) { + document.querySelectorAll(overlayId).forEach((n) => n.close()) + } } function hasErrorOverlay() { - return document.querySelectorAll(overlayId).length + if (hasDocument) { + return document.querySelectorAll(overlayId).length + } + + return false } let pending = false @@ -378,7 +387,7 @@ const sheetsMap = new Map() // collect existing style elements that may have been inserted during SSR // to avoid FOUC or duplicate styles -if ('document' in globalThis) { +if (hasDocument) { document .querySelectorAll('style[data-vite-dev-id]') .forEach((el) => {