前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VitePress 强大的静态网站生成器

VitePress 强大的静态网站生成器

原创
作者头像
用户10503220
发布2023-07-19 13:30:31
6950
发布2023-07-19 13:30:31
举报
文章被收录于专栏:vitepressvitepress

什么是VitePress?

VitePress 是一个静态站点生成器 (SSG),专为构建快速、以内容为中心的网站而设计。简而言之,VitePress 获取用 Markdown 编写的源内容,为其应用主题,并生成可以轻松部署在任何地方的静态 HTML 页面。

VitePress中文教程:https://vitepress.qzxdp.cn/

用例

  • 文档

VitePress附带了一个默认主题,专为技术文档而设计,特别适用于需要嵌入交互式演示的文档。它支持您当前正在阅读的页面,以及其他文档,例如:

Vue.js官方文档也是基于VitePress构建的,但使用了一个自定义主题,用于多语言版本之间的共享。

  • 博客、个人作品集和营销网站 VitePress支持完全定制的主题,同时提供了与标准Vite + Vue应用程序相似的开发体验。它是基于Vite构建的,这意味着您可以直接利用Vite生态系统中丰富的插件。此外,VitePress还提供了灵活的API,用于加载数据(本地或远程)和动态生成路由。只要数据可以在构建时确定,您可以使用VitePress构建几乎任何类型的网站,包括博客、个人作品集和营销网站。

官方的Vue.js博客是一个简单的博客,它根据本地内容生成索引页面。

开发者体验

VitePress 旨在在处理 Markdown 内容时提供出色的开发者体验 (DX)。

  • 基于 Vite 引擎: VitePress实现了即时的服务器启动,对编辑的更改始终在瞬间反映出来(<100毫秒),无需重新加载页面。
  • 内置Markdown扩展: VitePress提供了许多高级功能,包括Frontmatter(前置元数据)、表格、语法高亮等等,几乎所有你能想到的功能它都有。特别是在处理代码块方面,VitePress提供了许多高级功能,使其非常适合编写高度技术性的文档。
  • 增强型Vue Markdown: 由于Vue模板与HTML具有100%的语法兼容性,因此每个Markdown页面也是一个Vue单文件组件(Single-File Component)SFC。您可以使用Vue模板的特性或导入的Vue组件,在静态内容中嵌入交互性。这意味着您可以在Markdown页面中使用Vue模板的语法和功能来实现交互效果。

性能

与许多传统的SSG不同,VitePress生成的网站实际上是一个单页应用程序 (SPA)。

  • 快速初始加载

对于任何页面的初始访问,将提供静态的预渲染HTML,以实现极快的加载速度和最佳的SEO效果。然后,页面会加载一个JavaScript捆绑包,将页面转换为Vue单页面应用程序(SPA)进行"水合"(hydration)过程。水合过程非常快速:在PageSpeed Insights上,即使在低端移动设备上使用缓慢的网络,典型的VitePress站点也能获得接近完美的性能分数。

  • 快速加载后导航

更重要的是,SPA模型在初始加载之后为用户提供了更好的用户体验。在站点内进行后续导航将不再导致完整的页面重新加载。相反,将获取并动态更新进入页面的内容。VitePress还会自动预取视口内链接的页面块。在大多数情况下,加载后的导航将感觉瞬间完成。

  • 无损交互性

为了能够对静态Markdown中嵌入的动态Vue部分进行水合(hydration),每个Markdown页面都会被处理为一个Vue组件并编译为JavaScript。这听起来可能效率低下,但是Vue编译器足够智能,能够将静态部分和动态部分分离,从而将水合成本和负载大小都最小化。对于初始页面加载,静态部分会自动从JavaScript负载中删除,并在水合过程中跳过。

VuePress 怎么样?

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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是VitePress?
    • 用例
      • 开发者体验
        • 性能
          • VuePress 怎么样?
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档