diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 83e18aabecdb33..da3bade7a8280a 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -300,6 +300,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { const inlined = inlineRE.test(id) const modules = cssModulesCache.get(config)!.get(id) + const isHTMLProxy = htmlProxyRE.test(id) const modulesCode = modules && dataToEsm(modules, { namedExports: true, preferConst: true }) @@ -311,7 +312,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { if (options?.ssr) { return modulesCode || `export default ${JSON.stringify(css)}` } - if (inlined) { + if (inlined || isHTMLProxy) { return `export default ${JSON.stringify(css)}` } @@ -346,7 +347,6 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { // and then use the cache replace inline-style-flag when `generateBundle` in vite:build-html plugin const inlineCSS = inlineCSSRE.test(id) const query = parseRequest(id) - const isHTMLProxy = htmlProxyRE.test(id) if (inlineCSS && isHTMLProxy) { addToHTMLProxyTransformResult( `${cleanUrl(id)}_${Number.parseInt(query!.index)}`, diff --git a/packages/vite/src/node/server/middlewares/indexHtml.ts b/packages/vite/src/node/server/middlewares/indexHtml.ts index ca2538bd9507ed..7a11b0b02ce93f 100644 --- a/packages/vite/src/node/server/middlewares/indexHtml.ts +++ b/packages/vite/src/node/server/middlewares/indexHtml.ts @@ -128,13 +128,17 @@ const devHtmlHook: IndexHtmlTransformHook = async ( if (module) { server?.moduleGraph.invalidateModule(module) } - - s.overwrite( - node.loc.start.offset, - node.loc.end.offset, - ``, - { contentOnly: true } - ) + if (ext === 'js') { + s.overwrite( + node.loc.start.offset, + node.loc.end.offset, + ``, + { contentOnly: true } + ) + } else if (ext === 'css') { + // just use the style update hmr don't render css + s.append(``) + } } await traverseHtml(html, htmlPath, (node) => {