diff --git a/packages/vue-renderer/src/renderer.js b/packages/vue-renderer/src/renderer.js index 6a68bc57b7..6e41ef04ea 100644 --- a/packages/vue-renderer/src/renderer.js +++ b/packages/vue-renderer/src/renderer.js @@ -452,11 +452,15 @@ export default class VueRenderer { } } - async renderRoute(url, context = {}) { + async renderRoute(url, context = {}, _retried) { /* istanbul ignore if */ if (!this.isReady) { // Production if (!this.context.options.dev) { + if (!_retried && ['loading', 'created'].includes(this._state)) { + await this.ready() + return this.renderRoute(url, context, true) + } switch (this._state) { case 'created': throw new Error('Renderer ready() is not called! Please ensure `nuxt.ready()` is called and awaited.')