wip(ssr): initial scaffold for compiler-ssr
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
export { renderToString, renderComponent, renderSlot } from './renderToString'
|
||||
// public
|
||||
export { renderToString } from './renderToString'
|
||||
|
||||
// internal
|
||||
export { renderComponent, renderSlot } from './renderToString'
|
||||
export { renderClass, renderStyle, renderProps } from './renderProps'
|
||||
export { escapeHtml, interpolate } from './ssrUtils'
|
||||
|
||||
@@ -4,7 +4,6 @@ import {
|
||||
ComponentInternalInstance,
|
||||
VNode,
|
||||
VNodeArrayChildren,
|
||||
VNodeNormalizedChildren,
|
||||
createVNode,
|
||||
Text,
|
||||
Comment,
|
||||
@@ -12,7 +11,8 @@ import {
|
||||
Portal,
|
||||
ShapeFlags,
|
||||
ssrUtils,
|
||||
Slot
|
||||
Slot,
|
||||
Slots
|
||||
} from 'vue'
|
||||
import {
|
||||
isString,
|
||||
@@ -99,7 +99,7 @@ export async function renderToString(input: App | VNode): Promise<string> {
|
||||
export function renderComponent(
|
||||
comp: Component,
|
||||
props: Props | null = null,
|
||||
children: VNodeNormalizedChildren | null = null,
|
||||
children: Slots | SSRSlots | null = null,
|
||||
parentComponent: ComponentInternalInstance | null = null
|
||||
): ResolvedSSRBuffer | Promise<ResolvedSSRBuffer> {
|
||||
return renderComponentVNode(
|
||||
@@ -256,14 +256,16 @@ function renderElement(
|
||||
}
|
||||
}
|
||||
|
||||
type OptimizedSlotFn = (
|
||||
export type SSRSlots = Record<string, SSRSlot>
|
||||
|
||||
export type SSRSlot = (
|
||||
props: Props,
|
||||
push: PushFn,
|
||||
parentComponent: ComponentInternalInstance | null
|
||||
) => void
|
||||
|
||||
export function renderSlot(
|
||||
slotFn: Slot | OptimizedSlotFn,
|
||||
slotFn: Slot | SSRSlot,
|
||||
slotProps: Props,
|
||||
push: PushFn,
|
||||
parentComponent: ComponentInternalInstance | null = null
|
||||
|
||||
Reference in New Issue
Block a user