diff --git a/packages/vite/src/node/ssr/ssrModuleLoader.ts b/packages/vite/src/node/ssr/ssrModuleLoader.ts index 24f005bd22aac8..ab0a969e971073 100644 --- a/packages/vite/src/node/ssr/ssrModuleLoader.ts +++ b/packages/vite/src/node/ssr/ssrModuleLoader.ts @@ -1,5 +1,6 @@ import fs from 'fs' import path from 'path' +import { pathToFileURL } from 'url' import { ViteDevServer } from '..' import { cleanUrl, resolveFrom, unwrapId } from '../utils' import { rebindErrorStacktrace, ssrRewriteStacktrace } from './ssrStacktrace' @@ -80,7 +81,13 @@ async function instantiateModule( // referenced before it's been instantiated. mod.ssrModule = ssrModule - const ssrImportMeta = { url } + const ssrImportMeta = { + // The filesystem URL, matching native Node.js modules + url: pathToFileURL(mod.file!).toString(), + + // The dev server pathname + pathname: url + } urlStack = urlStack.concat(url) const isCircular = (url: string) => urlStack.includes(url)