diff --git a/packages/vite/src/module-runner/utils.ts b/packages/vite/src/module-runner/utils.ts index cf74ccc881bf33..33c0a158b1d32f 100644 --- a/packages/vite/src/module-runner/utils.ts +++ b/packages/vite/src/module-runner/utils.ts @@ -7,8 +7,7 @@ export function normalizeAbsoluteUrl(url: string, root: string): string { // file:///C:/root/id.js -> C:/root/id.js if (url.startsWith('file://')) { // 8 is the length of "file:///" - // url = url.slice(isWindows ? 8 : 7) - url = url.slice(7) + url = url.slice(isWindows ? 8 : 7) } // strip root from the URL because fetchModule prefers a public served url path diff --git a/packages/vite/src/node/ssr/runtime/__tests__/fixtures/dynamic-import.js b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/dynamic-import.js index 457a1b723bf7ce..c846bdc560a108 100644 --- a/packages/vite/src/node/ssr/runtime/__tests__/fixtures/dynamic-import.js +++ b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/dynamic-import.js @@ -10,7 +10,10 @@ export const initialize = async () => { dynamicRelative: await import(nameRelative), dynamicAbsolute: await import(nameAbsolute), dynamicAbsoluteExtension: await import(nameAbsoluteExtension), - dynamicAbsoluteFull: await import(path.join(import.meta.dirname, "simple.js")), + dynamicAbsoluteFull: await import(path.join( + ...process.platform === 'win32' ? ['/@fs'] : [], + import.meta.dirname, "simple.js" + )), static: staticModule, } }