服务端渲染(SSR)
服务端渲染(SSR)是一种在 JavaScript 实现加载和执行之前,生成并提供组件 HTML(包括 Shadow DOM 和样式)的技术。
你可以出于多种原因使用 SSR:
- 性能。某些网站可以通过先渲染静态 HTML 而不等待 JavaScript 加载来更快地渲染,然后(可选地)加载页面的 JavaScript 并对组件进行水合。
- SEO 和网络爬虫。虽然主要的搜索引擎爬虫使用完整支持 JavaScript 的浏览器来渲染页面,但并非所有网络爬虫都支持 JavaScript。
- 健壮性。即使 JavaScript 加载失败或用户禁用了 JavaScript,静态 HTML 仍然可以渲染。
要更深入地了解服务端渲染的概念和技术,请参阅 web.dev 上的 Rendering on the Web。
Lit 通过 Lit SSR 包支持服务端渲染。Lit SSR 在 Node 等非浏览器 JavaScript 环境中将 Lit 组件和模板渲染为静态 HTML 标记。它无需完全模拟浏览器的 DOM,并利用 Lit 的声明式模板格式来实现快速性能、低首字节时间和流式传输支持。
Lit SSR 是一个底层库,你可以直接在基于 Node 的服务器或站点生成器中使用。查看 在 Koa 服务器中使用 Lit SSR 的示例。
目前已经发布了一些集成方案,使 Lit SSR 可以开箱即用:
- Lit Eleventy 插件
- Astro 的 Lit 集成
- Rocket
- ...以及更多正在开发中的集成!
该库正在积极开发中,存在一些我们希望解决的已知限制: