diff --git a/packages/vite/src/node/ssr/ssrModuleLoader.ts b/packages/vite/src/node/ssr/ssrModuleLoader.ts index 7f9731c417c566..4c1f1b9708ecb7 100644 --- a/packages/vite/src/node/ssr/ssrModuleLoader.ts +++ b/packages/vite/src/node/ssr/ssrModuleLoader.ts @@ -135,7 +135,10 @@ async function instantiateModule( const ssrImport = async (dep: string) => { if (dep[0] !== '.' && dep[0] !== '/') { - return nodeImport(dep, mod.file!, resolveOptions) + const imported = await nodeImport(dep, mod.file!, resolveOptions) + if (imported) { + return imported + } } dep = unwrapId(dep) if (!isCircular(dep) && !pendingImports.get(dep)?.some(isCircular)) { @@ -291,6 +294,10 @@ async function nodeImport( ? { ...resolveOptions, tryEsmOnly: true } : resolveOptions ) + // These cannot be imported directly + if (url.match(/\.(css|less|sass|scss|styl|stylus|pcss|postcss|json)$/)) { + return null + } if (usingDynamicImport) { url = pathToFileURL(url).toString() }