From 5a7f5164f0b4f6d3b8a2fca526f194545f6796a6 Mon Sep 17 00:00:00 2001 From: pooya parsa Date: Fri, 25 Sep 2020 18:31:25 +0200 Subject: [PATCH] feat: improve app, fetch and support vuex5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sébastien Chopin --- packages/nuxt3/src/vue-renderer/renderers/ssr.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/nuxt3/src/vue-renderer/renderers/ssr.ts b/packages/nuxt3/src/vue-renderer/renderers/ssr.ts index f8572a84ce..3e3ce2d6b8 100644 --- a/packages/nuxt3/src/vue-renderer/renderers/ssr.ts +++ b/packages/nuxt3/src/vue-renderer/renderers/ssr.ts @@ -96,8 +96,11 @@ export default class SSRRenderer extends BaseRenderer { // Call Vue renderer renderToString let APP = await this.vueRenderer.renderToString(renderContext) + // Call render:done in app + await renderContext.nuxt.hooks.callHook('vue-renderer:done') + if (typeof getSSRLog === 'function') { - renderContext.nuxt.logs = getSSRLog() + renderContext.payload.logs = getSSRLog() } // Call ssr:context hook @@ -107,7 +110,7 @@ export default class SSRRenderer extends BaseRenderer { await this.serverContext.nuxt.callHook('_render:context', renderContext.nuxt) // Fallback to empty response - if (!renderContext.nuxt.serverRendered) { + if (!renderContext.payload.serverRendered) { APP = `
` } @@ -115,7 +118,7 @@ export default class SSRRenderer extends BaseRenderer { if (renderContext.redirected && renderContext.target === TARGETS.server) { return { html: APP, - error: renderContext.nuxt.error, + error: renderContext.payload.error, redirected: renderContext.redirected } } @@ -125,7 +128,7 @@ export default class SSRRenderer extends BaseRenderer { // Inject head meta // (this is unset when features.meta is false in server template) const meta = renderContext.meta && renderContext.meta.inject({ - isSSR: renderContext.nuxt.serverRendered, + isSSR: renderContext.payload.serverRendered, ln: this.options.dev }) @@ -224,7 +227,7 @@ export default class SSRRenderer extends BaseRenderer { let serializedSession if (shouldInjectScripts || shouldHashCspScriptSrc) { // Only serialized session if need inject scripts or csp hash - serializedSession = `window.${this.serverContext.globals.context}=${devalue(renderContext.nuxt)};` + serializedSession = `window.${this.serverContext.globals.context}=${devalue(renderContext.payload)};` inlineScripts.push(serializedSession) } @@ -271,7 +274,7 @@ export default class SSRRenderer extends BaseRenderer { // Template params const templateParams = { - HTML_ATTRS: meta ? meta.htmlAttrs.text(renderContext.nuxt.serverRendered /* addSrrAttribute */) : '', + HTML_ATTRS: meta ? meta.htmlAttrs.text(renderContext.payload.serverRendered /* addSrrAttribute */) : '', HEAD_ATTRS: meta ? meta.headAttrs.text() : '', BODY_ATTRS: meta ? meta.bodyAttrs.text() : '', HEAD,