Skip to content
This repository was archived by the owner on Apr 6, 2023. It is now read-only.

fix(nuxt): normalise window location for universal router#4841

Merged
pi0 merged 4 commits intomainfrom
fix/universal-path
May 6, 2022
Merged

fix(nuxt): normalise window location for universal router#4841
pi0 merged 4 commits intomainfrom
fix/universal-path

Conversation

@danielroe
Copy link
Member

🔗 Linked issue

❓ Type of change

  • 📖 Documentation (updates to the documentation or readme)
  • 🐞 Bug fix (a non-breaking change that fixes an issue)
  • 👌 Enhancement (improving an existing functionality like performance)
  • ✨ New feature (a non-breaking change that adds functionality)
  • ⚠️ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

currently route.fullPath is / on server and http://localhost:3000/ on client. This implements same behaviour as on router, which also fixes an issue where baseURL wasn't being correctly handled with universal router:

// https://github.dev/vuejs/router/blob/main/src/history/html5.ts#L33-L56
function createCurrentLocation (
base: string,
location: Location
): string {
const { pathname, search, hash } = location
// allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end
const hashPos = base.indexOf('#')
if (hashPos > -1) {
const slicePos = hash.includes(base.slice(hashPos))
? base.slice(hashPos).length
: 1
let pathFromHash = hash.slice(slicePos)
// prepend the starting slash to hash so the url starts with /#
if (pathFromHash[0] !== '/') { pathFromHash = '/' + pathFromHash }
return withoutBase(pathFromHash, '')
}
const path = withoutBase(pathname, base)
return path + search + hash
}

📝 Checklist

  • I have linked an issue or discussion.
  • I have updated the documentation accordingly.

@danielroe danielroe added bug Something isn't working 🔨 p3-minor-bug Priority 3: a bug in an edge case that only affects very specific usage labels May 6, 2022
@danielroe danielroe requested a review from pi0 May 6, 2022 10:13
@danielroe danielroe self-assigned this May 6, 2022
@netlify
Copy link

netlify bot commented May 6, 2022

Deploy Preview for nuxt3-docs canceled.

Name Link
🔨 Latest commit 8a4fe13
🔍 Latest deploy log https://app.netlify.com/sites/nuxt3-docs/deploys/6274ff59541368000919cf26

@pi0 pi0 merged commit b29f635 into main May 6, 2022
@pi0 pi0 deleted the fix/universal-path branch May 6, 2022 11:02
@pi0 pi0 mentioned this pull request May 6, 2022
@danielroe danielroe added the 3.x label Jan 19, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

3.x bug Something isn't working 🔨 p3-minor-bug Priority 3: a bug in an edge case that only affects very specific usage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants