VitePress 是一个静态站点生成器 (SSG),专为构建快速、以内容为中心的网站而设计。简而言之,VitePress 获取用 Markdown 编写的源内容,为其应用主题,并生成可以轻松部署在任何地方的静态 HTML 页面。
VitePress中文教程:https://vitepress.qzxdp.cn/
VitePress附带了一个默认主题,专为技术文档而设计,特别适用于需要嵌入交互式演示的文档。它支持您当前正在阅读的页面,以及其他文档,例如:
Vue.js官方文档也是基于VitePress构建的,但使用了一个自定义主题,用于多语言版本之间的共享。
官方的Vue.js博客是一个简单的博客,它根据本地内容生成索引页面。
VitePress 旨在在处理 Markdown 内容时提供出色的开发者体验 (DX)。
与许多传统的SSG不同,VitePress生成的网站实际上是一个单页应用程序 (SPA)。
对于任何页面的初始访问,将提供静态的预渲染HTML,以实现极快的加载速度和最佳的SEO效果。然后,页面会加载一个JavaScript捆绑包,将页面转换为Vue单页面应用程序(SPA)进行"水合"(hydration)过程。水合过程非常快速:在PageSpeed Insights上,即使在低端移动设备上使用缓慢的网络,典型的VitePress站点也能获得接近完美的性能分数。
更重要的是,SPA模型在初始加载之后为用户提供了更好的用户体验。在站点内进行后续导航将不再导致完整的页面重新加载。相反,将获取并动态更新进入页面的内容。VitePress还会自动预取视口内链接的页面块。在大多数情况下,加载后的导航将感觉瞬间完成。
为了能够对静态Markdown中嵌入的动态Vue部分进行水合(hydration),每个Markdown页面都会被处理为一个Vue组件并编译为JavaScript。这听起来可能效率低下,但是Vue编译器足够智能,能够将静态部分和动态部分分离,从而将水合成本和负载大小都最小化。对于初始页面加载,静态部分会自动从JavaScript负载中删除,并在水合过程中跳过。
VitePress 是 VuePress 的精神继承者。最初的 VuePress 基于 Vue 2 和 webpack。借助 Vue 3 和 Vite,VitePress 提供了明显更好的 DX、更好的生产性能、更精致的默认主题以及更灵活的定制 API。
VitePress 和 VuePress 之间的 API 差异主要在于主题和定制。如果您使用带有默认主题的 VuePress 1,那么迁移到 VitePress 应该相对简单。
VuePress 2 也投入了精力,它也支持 Vue 3 和 Vite,与 VuePress 1 具有更高的兼容性。但是,并行维护两个 SSG 是不可持续的,因此 Vue 团队决定将 VitePress 作为主要推荐从长远来看,SSG。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。