const result = Component.render(...)
与客户端组件不同,服务器端组件在渲染后没有生命周期——它们的全部任务是创建一些HTML和CSS。因此,API有些不同。
服务器端组件公开了一个 render 方法,可以用可选的属性(props)调用。它返回一个对象,包含 head、html 和 css 属性,其中 head 包含了所有遇到的 <svelte:head> 元素的内容。
您可以直接使用 svelte/register 将 Svelte 组件导入 Node 环境中。
require('svelte/register');const App = require('./App.svelte').default;const { head, html, css } = App.render({answer: 42 // 假设组件需要一个名为 answer 的属性});
.render() 方法接受以下参数:
| 参数 | 默认值 | 描述 |
|---|---|---|
props |
{} |
供应给组件的属性对象 |
options |
{} |
选项对象 |
options 对象包含以下选项:
| 选项 | 默认值 | 描述 |
|---|---|---|
context |
new Map() |
供应给组件的根级别上下文键值对的 Map |
const { head, html, css } = App.render(// 属性{answer: 42},// 选项{context: new Map([['context-key', 'context-value']]) // 传递根级别上下文});
这样,您就可以在服务器端渲染 Svelte 组件,获取生成的 HTML、CSS 和嵌入在 <svelte:head> 中的内容。
