diff --git a/packages/vite/src/node/server/middlewares/error.ts b/packages/vite/src/node/server/middlewares/error.ts index 1a17e5814473f2..3de08c3dcb87e8 100644 --- a/packages/vite/src/node/server/middlewares/error.ts +++ b/packages/vite/src/node/server/middlewares/error.ts @@ -1,3 +1,4 @@ +import path from 'node:path' import colors from 'picocolors' import type { RollupError } from 'rollup' import type { Connect } from 'dep-types/connect' @@ -5,6 +6,7 @@ import strip from 'strip-ansi' import type { ErrorPayload } from 'types/hmrPayload' import { pad } from '../../utils' import type { ViteDevServer } from '../..' +import { CLIENT_PUBLIC_PATH } from '../../constants' export function prepareError(err: Error | RollupError): ErrorPayload['err'] { // only copy the information we need and avoid serializing unnecessary @@ -82,7 +84,7 @@ export function errorMiddleware( '\\u003c', )} try { - const { ErrorOverlay } = await import('/@vite/client') + const { ErrorOverlay } = await import(${JSON.stringify(path.posix.join(server.config.base, CLIENT_PUBLIC_PATH))}) document.body.appendChild(new ErrorOverlay(error)) } catch { const h = (tag, text) => {