diff --git a/packages/plugin-vue/src/template.ts b/packages/plugin-vue/src/template.ts index c7219284..0abe1dd0 100644 --- a/packages/plugin-vue/src/template.ts +++ b/packages/plugin-vue/src/template.ts @@ -108,7 +108,9 @@ export function resolveTemplateCompilerOptions( // request if (filename.startsWith(options.root)) { assetUrlOptions = { - base: '/' + slash(path.relative(options.root, path.dirname(filename))) + base: + options.devServer.config.base + + slash(path.relative(options.root, path.dirname(filename))) } } } else { diff --git a/scripts/jestPerTestSetup.ts b/scripts/jestPerTestSetup.ts index dc7c6b28..b2cbfed0 100644 --- a/scripts/jestPerTestSetup.ts +++ b/scripts/jestPerTestSetup.ts @@ -66,8 +66,9 @@ beforeAll(async () => { if (!isBuildTest) { process.env.VITE_INLINE = 'inline-serve' server = await (await createServer(options)).listen() - // use resolved port from server - const url = ((global as any).viteTestUrl = `http://localhost:${server.config.server.port}`) + // use resolved port/base from server + const base = server.config.base === '/' ? '' : server.config.base + const url = ((global as any).viteTestUrl = `http://localhost:${server.config.server.port}${base}`) await page.goto(url) } else { process.env.VITE_INLINE = 'inline-build' @@ -100,7 +101,7 @@ function startStaticServer(): Promise { try { config = require(configFile) } catch (e) {} - const base = config?.build?.base || '' + const base = (config?.base || '/') === '/' ? '' : config.base // @ts-ignore if (config && config.__test__) {