mirror of
https://github.com/nuxt/nuxt.git
synced 2025-02-16 13:48:13 +00:00
fix(nuxt): handle errors when booting app with app:error
(#24376)
This commit is contained in:
parent
23e908a6c1
commit
1cc05b9ae6
@ -58,11 +58,17 @@ if (import.meta.client) {
|
||||
|
||||
const nuxt = createNuxtApp({ vueApp })
|
||||
|
||||
async function handleVueError(err: any) {
|
||||
await nuxt.callHook('app:error', err)
|
||||
nuxt.payload.error = (nuxt.payload.error || err) as any
|
||||
}
|
||||
|
||||
vueApp.config.errorHandler = handleVueError
|
||||
|
||||
try {
|
||||
await applyPlugins(nuxt, plugins)
|
||||
} catch (err) {
|
||||
await nuxt.callHook('app:error', err)
|
||||
nuxt.payload.error = (nuxt.payload.error || err) as any
|
||||
handleVueError(err)
|
||||
}
|
||||
|
||||
try {
|
||||
@ -72,10 +78,13 @@ if (import.meta.client) {
|
||||
await nuxt.hooks.callHook('app:mounted', vueApp)
|
||||
await nextTick()
|
||||
} catch (err) {
|
||||
await nuxt.callHook('app:error', err)
|
||||
nuxt.payload.error = (nuxt.payload.error || err) as any
|
||||
handleVueError(err)
|
||||
}
|
||||
|
||||
// If the errorHandler is not overridden by the user, we unset it
|
||||
if (vueApp.config.errorHandler === handleVueError)
|
||||
vueApp.config.errorHandler = undefined
|
||||
|
||||
return vueApp
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user