From 09dbad2c63f1d52ab4f1c1398d31bc515dbbc53f Mon Sep 17 00:00:00 2001 From: mog422 Date: Fri, 19 Jul 2024 16:29:46 +0900 Subject: [PATCH] fix: missing register component in ssr (#1887) --- src/index.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/index.ts b/src/index.ts index 890dc1cb..090e97dc 100644 --- a/src/index.ts +++ b/src/index.ts @@ -363,6 +363,18 @@ export default function loader( .join(`\n`) + `\n` } + if (isServer) { + code += `\nimport { useSSRContext } from 'vue'\n` + code += `const _setup = script.setup\n` + ;(code += `script.setup = (props, ctx) => {`), + (code += ` const ssrContext = useSSRContext()`), + (code += ` ;(ssrContext._registeredComponents || (ssrContext._registeredComponents = new Set())).add(${JSON.stringify( + hash(loaderContext.request) + )});`) + code += ` return _setup ? _setup(props, ctx) : undefined` + code += `}\n` + } + // finalize if (!propsToAttach.length) { code += `\n\nconst __exports__ = script;`