mirror of
https://github.com/withastro/astro.git
synced 2025-01-06 22:10:10 -05:00
SSR doesn't need to block multiple routes that match the same URL (#4329)
* fix: SSR doesn't need to block multiple routes that match the same URL * chore: add changeset
This commit is contained in:
parent
fbf9752f17
commit
0274b8d47b
2 changed files with 5 additions and 7 deletions
5
.changeset/orange-llamas-glow.md
Normal file
5
.changeset/orange-llamas-glow.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Updates routing logic to allow multiple routes to match the same URL in SSR
|
|
@ -251,13 +251,6 @@ async function handleRequest(
|
||||||
async function matchRoute() {
|
async function matchRoute() {
|
||||||
const matches = matchAllRoutes(pathname, manifest);
|
const matches = matchAllRoutes(pathname, manifest);
|
||||||
|
|
||||||
if (config.output === 'server' && matches.length > 1) {
|
|
||||||
throw new Error(`Found multiple matching routes for "${pathname}"! When using \`output: 'server'\`, only one route in \`src/pages\` can match a given URL. Found:
|
|
||||||
|
|
||||||
${matches.map(({ component }) => `- ${component}`).join('\n')}
|
|
||||||
`);
|
|
||||||
}
|
|
||||||
|
|
||||||
for await (const maybeRoute of matches) {
|
for await (const maybeRoute of matches) {
|
||||||
const filePath = new URL(`./${maybeRoute.component}`, config.root);
|
const filePath = new URL(`./${maybeRoute.component}`, config.root);
|
||||||
const preloadedComponent = await preload({ astroConfig: config, filePath, viteServer });
|
const preloadedComponent = await preload({ astroConfig: config, filePath, viteServer });
|
||||||
|
|
Loading…
Reference in a new issue