diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 378a2a193eb2f8..f3c4d1ec512775 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -1207,6 +1207,8 @@ export function getEmptyChunkReplacer( ) } +const fileURLWithWindowsDriveRE = /^file:\/\/\/[a-zA-Z]:\// + interface CSSAtImportResolvers { css: ResolveIdFn sass: ResolveIdFn @@ -1245,7 +1247,9 @@ function createCSSResolvers(config: ResolvedConfig): CSSAtImportResolvers { args[1] = fileURLToPath(args[1], { windows: // file:///foo cannot be converted to path with windows mode - isWindows && args[1].startsWith('file:///') ? false : undefined, + isWindows && !fileURLWithWindowsDriveRE.test(args[1]) + ? false + : undefined, }) } return resolver(...args)