Skip to content

Commit 4a6de42

Browse files
committedJul 20, 2024
fix: missing register component in ssr (#1887)
1 parent 6986365 commit 4a6de42

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed
 

‎src/index.ts

+12
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,18 @@ export default function loader(
363363
.join(`\n`) + `\n`
364364
}
365365

366+
if (isServer) {
367+
code += `\nimport { useSSRContext } from 'vue'\n`
368+
code += `const _setup = script.setup\n`
369+
;(code += `script.setup = (props, ctx) => {`),
370+
(code += ` const ssrContext = _useSSRContext()`),
371+
(code += ` ;(ssrContext._registeredComponents || (ssrContext._registeredComponents = new Set())).add(${JSON.stringify(
372+
hash(loaderContext.request)
373+
)});`)
374+
code += ` return _setup ? _setup(props, ctx) : undefined`
375+
code += `}\n`
376+
}
377+
366378
// finalize
367379
if (!propsToAttach.length) {
368380
code += `\n\nconst __exports__ = script;`

0 commit comments

Comments
 (0)
Failed to load comments.