diff --git a/packages/vite/src/node/plugins/asset.ts b/packages/vite/src/node/plugins/asset.ts index 10e2be0917f5a2..c0f5015e86842e 100644 --- a/packages/vite/src/node/plugins/asset.ts +++ b/packages/vite/src/node/plugins/asset.ts @@ -268,7 +268,11 @@ export async function fileToUrl( } } -function fileToDevUrl(id: string, config: ResolvedConfig) { +export function fileToDevUrl( + id: string, + config: ResolvedConfig, + skipBase = false, +): string { let rtn: string if (checkPublicFile(id, config)) { // in public dir during dev, keep the url as-is @@ -281,6 +285,9 @@ function fileToDevUrl(id: string, config: ResolvedConfig) { // (this is special handled by the serve static middleware rtn = path.posix.join(FS_PREFIX, id) } + if (skipBase) { + return rtn + } const base = joinUrlSegments(config.server?.origin ?? '', config.decodedBase) return joinUrlSegments(base, removeLeadingSlash(rtn)) } diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 6a42f42868d1bb..848fb84fbf1cd1 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -65,7 +65,6 @@ import { removeDirectQuery, removeUrlQuery, requireResolveFromRootWithFallback, - stripBase, stripBomTag, urlRE, } from '../utils' @@ -75,6 +74,7 @@ import type { TransformPluginContext } from '../server/pluginContainer' import { addToHTMLProxyTransformResult } from './html' import { assetUrlRE, + fileToDevUrl, fileToUrl, generatedAssets, publicAssetUrlCache, @@ -996,16 +996,12 @@ export function cssAnalysisPlugin(config: ResolvedConfig): Plugin { // record deps in the module graph so edits to @import css can trigger // main import to hot update const depModules = new Set() - const devBase = config.base for (const file of pluginImports) { depModules.add( isCSSRequest(file) ? moduleGraph.createFileOnlyEntry(file) : await moduleGraph.ensureEntryFromUrl( - stripBase( - await fileToUrl(file, config, this), - (config.server?.origin ?? '') + devBase, - ), + fileToDevUrl(file, config, /* skipBase */ true), ssr, ), )