From 3487afda0feb0fe7d539bc948f93758dbff460e4 Mon Sep 17 00:00:00 2001 From: jlpereira Date: Wed, 27 Sep 2023 17:06:59 -0300 Subject: [PATCH] Fix soft 404 --- src/entry-server.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/entry-server.js b/src/entry-server.js index 5758fb8..aea498d 100644 --- a/src/entry-server.js +++ b/src/entry-server.js @@ -9,11 +9,20 @@ import devalue from '@nuxt/devalue' export async function render(url, manifest, originUrl) { const { app, router, store } = createApp({ originUrl }) + let statusCode = 200 // Register global components, create a fake server components for components that should only render on client side registerGlobalComponents(app) registerFakeClientComponents(app) + router.beforeEach((item) => { + const { meta } = item + + if (meta?.statusCode) { + statusCode = meta.statusCode + } + }) + // set the router to the desired URL before rendering await router.push(url) await router.isReady() @@ -24,8 +33,8 @@ export async function render(url, manifest, originUrl) { // components that have been instantiated during this render call. const ctx = {} + const html = await renderToString(app, ctx) - const statusCode = router.currentRoute.value.meta?.statusCode || 200 const headPayload = await renderSSRHead(getActiveHead()) const renderState = `