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 GitHub
parent 82e4c2dc5f
commit eb6bd9febc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -270,12 +270,14 @@ async function createApp(ssrContext, config = {}) {
// Wait for async component to be resolved first
await new Promise((resolve, reject) => {
const { route } = router.resolve(app.context.route.fullPath)
// Ignore 404s rather than blindly replacing URL
if (!route.matched.length && process.client) {
return resolve()
// Ignore 404s rather than blindly replacing URL in browser
if (process.client) {
const { route } = router.resolve(app.context.route.fullPath)
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
if (!err._isRouter) return reject(err)
if (err.type !== 2 /* NavigationFailureType.redirected */) return resolve()