diff --git a/packages/vite/src/node/plugins/resolve.ts b/packages/vite/src/node/plugins/resolve.ts index 730035386f03ea..7a85aa84b24426 100644 --- a/packages/vite/src/node/plugins/resolve.ts +++ b/packages/vite/src/node/plugins/resolve.ts @@ -142,6 +142,15 @@ export function resolvePlugin(resolveOptions: InternalResolveOptions): Plugin { name: 'vite:resolve', async resolveId(id, importer, resolveOpts) { + if ( + id[0] === '\0' || + id.startsWith('virtual:') || + // When injected directly in html/client code + id.startsWith('/virtual:') + ) { + return + } + const ssr = resolveOpts?.ssr === true // We need to delay depsOptimizer until here instead of passing it as an option