diff --git a/packages/plugin-react/src/fast-refresh.ts b/packages/plugin-react/src/fast-refresh.ts index b6114a352..e80a4e628 100644 --- a/packages/plugin-react/src/fast-refresh.ts +++ b/packages/plugin-react/src/fast-refresh.ts @@ -31,10 +31,11 @@ window.__vite_plugin_react_preamble_installed__ = true const header = ` import RefreshRuntime from "${runtimePublicPath}"; +const inWebWorker = typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope; let prevRefreshReg; let prevRefreshSig; -if (import.meta.hot) { +if (import.meta.hot && !inWebWorker) { if (!window.__vite_plugin_react_preamble_installed__) { throw new Error( "@vitejs/plugin-react can't detect preamble. Something is wrong. " + @@ -51,7 +52,7 @@ if (import.meta.hot) { }`.replace(/\n+/g, '') const footer = ` -if (import.meta.hot) { +if (import.meta.hot && !inWebWorker) { window.$RefreshReg$ = prevRefreshReg; window.$RefreshSig$ = prevRefreshSig;