renderToString()
导出自vue/server-renderer
类型
function renderToString( input: App | VNode, context?: SSRContext ): Promise<string>
例子
import { createSSRApp } from 'vue' import { renderToString } from 'vue/server-renderer' const app = createSSRApp({ data: () => ({ msg: 'hello' }), template: `<div>{{ msg }}</div>` }) ;(async () => { const html =await renderToString(app) console.log(html) })()
处理传送
如果呈现的应用程序包含Teleport,则被传送的内容不会是呈现字符串的一部分。在大多数情况下,最好的解决方案是在安装时有条件地渲染Teleport。
如果确实需要远程传输内容Teleport,它们将在ssr
上下文对象的teleports属性下公开:
const ctx = {} const html = await renderToString(app, ctx) console.log(ctx.teleports) // { '#teleported': 'teleported content' }