服务端渲染 (SSR) 概览
服务端渲染 (SSR) 是一种在组件的 JavaScript 实现加载和执行之前生成和提供组件 HTML 的技术,包括 shadow DOM 和样式。
你可以出于各种原因使用 SSR:
- 性能。某些网站可以更快地渲染,如果它们首先渲染静态 HTML 而不等待 JavaScript 加载,然后(可选)加载页面的 JavaScript 并水合组件。
- SEO 和网络爬虫。虽然主要搜索引擎的网络爬虫使用完整的 JavaScript 启用浏览器来渲染页面,但并非所有网络爬虫都支持 JavaScript。
- 健壮性。即使 JavaScript 加载失败或用户禁用了 JavaScript,静态 HTML 也能正常渲染。
关于服务端渲染概念和技术的深入探讨,请参阅 web.dev 上的 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
- 使用 @lit-labs/nextjs 的 Next.js 页面路由
- 使用 nuxt-ssr-lit 的 Nuxt 3
- ...以及更多正在开发中!
该库正在积极开发中,有一些我们希望解决的明显限制: