fix(vue-app): don't normalise route path if it's valid (#9460)

[release]
This commit is contained in:
Daniel Roe 2021-06-28 15:29:43 +01:00 committed by Pooya Parsa
parent af491991eb
commit 1ccd15191c

View File

@ -269,12 +269,14 @@ async function createApp(ssrContext, config = {}) {
// Wait for async component to be resolved first // Wait for async component to be resolved first
await new Promise((resolve, reject) => { await new Promise((resolve, reject) => {
const { route } = router.resolve(app.context.route.fullPath) // Ignore 404s rather than blindly replacing URL in browser
// Ignore 404s rather than blindly replacing URL if (process.client) {
if (!route.matched.length && process.client) { const { route } = router.resolve(app.context.route.fullPath)
return resolve() if (!route.matched.length) {
return resolve()
}
} }
router.replace(route, resolve, (err) => { router.replace(app.context.route.fullPath, resolve, (err) => {
// https://github.com/vuejs/vue-router/blob/v3.4.3/src/util/errors.js // https://github.com/vuejs/vue-router/blob/v3.4.3/src/util/errors.js
if (!err._isRouter) return reject(err) if (!err._isRouter) return reject(err)
if (err.type !== 2 /* NavigationFailureType.redirected */) return resolve() if (err.type !== 2 /* NavigationFailureType.redirected */) return resolve()