mirror of
https://github.com/nuxt/nuxt.git
synced 2025-02-17 06:01:34 +00:00
improve spa errors
This commit is contained in:
parent
0927c130ed
commit
690cfe2114
@ -28,14 +28,15 @@ let router
|
||||
const NUXT = window.__NUXT__ || {}
|
||||
NUXT.components = window.__COMPONENTS__ || null
|
||||
|
||||
<% if (debug) { %>
|
||||
<% if (debug || mode === 'spa') { %>
|
||||
// Setup global Vue error handler
|
||||
const defaultErrorHandler = Vue.config.errorHandler
|
||||
Vue.config.errorHandler = function (err, vm, info) {
|
||||
err.statusCode = err.statusCode || 'Whoops!'
|
||||
|
||||
err.statusCode = err.statusCode || err.name || 'Whoops!'
|
||||
err.message = err.message || err.toString()
|
||||
|
||||
// Show Nuxt Error Page
|
||||
if(vm && vm.$root && vm.$root.$nuxt) {
|
||||
if(vm && vm.$root && vm.$root.$nuxt && vm.$root.$nuxt.error && info !== 'render function') {
|
||||
vm.$root.$nuxt.error(err)
|
||||
}
|
||||
|
||||
@ -44,11 +45,12 @@ Vue.config.errorHandler = function (err, vm, info) {
|
||||
return defaultErrorHandler(...arguments)
|
||||
}
|
||||
|
||||
// Log to console (default vue behavior)
|
||||
// Log to console
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
console.warn(('Error in ' + info + ': "' + err.toString() + '"'), vm);
|
||||
console.error(err)
|
||||
} else {
|
||||
console.error(err.message)
|
||||
}
|
||||
console.error(err);
|
||||
}
|
||||
<% } %>
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
<h5 v-else>
|
||||
Press <kbd>Command</kbd> + <kbd>Option</kbd> + <kbd>I</kbd>
|
||||
or <kbd>Control</kbd> + <kbd>Shift</kbd> + <kbd>I</kbd>
|
||||
To open developer tools
|
||||
to open developer tools.
|
||||
</h5>
|
||||
<% } %>
|
||||
</div>
|
||||
@ -59,7 +59,7 @@ export default {
|
||||
return (this.error && this.error.statusCode) || 500
|
||||
},
|
||||
message () {
|
||||
return this.error.toString() || 'Nuxt Server Error'
|
||||
return this.error.message || 'Nuxt Server Error'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -178,6 +178,7 @@ export default class Builder extends Tapable {
|
||||
uniqBy: _.uniqBy,
|
||||
isDev: this.options.dev,
|
||||
debug: this.options.debug,
|
||||
mode: this.options.mode,
|
||||
router: this.options.router,
|
||||
env: this.options.env,
|
||||
head: this.options.head,
|
||||
|
Loading…
Reference in New Issue
Block a user