当前位置:首页 > 技术分析 > 正文内容

时隔多年,VitePress 终于迎来了 v1.0 !

ruisui883个月前 (02-03)技术分析17

家好,很高兴又见面了,我是"高级前端?进阶?",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。

2024 年 3 月 21 日 Evan You 发布了 VitePress v1.0 版本,本文将带着大家简单聊聊什么是 VitePress 以及 v1.0 版本带来了那些优秀特性。

1. 什么是 VitePress

VitePress is Vite & Vue Powered Static Site Generator. It turns Markdowns to Beautiful Docs in Minutes

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

VitePress 建立在 Vite 和 Vue 之上,是 VuePress 的精神继承者和现代替代品,同时为 Vite、Rollup、Pinia、VueUse、Vitest、D3、UnoCSS、Iconify 等文档提供支持。VitePress 的典型特征包括:

  • 专注于内容:只需使用 Markdown 即可轻松创建精美的文档网站
  • 享受 Vite DX:即时服务器启动,闪电般快速的热更新,并利用 Vite 生态插件
  • 使用 Vue 进行定制:直接在 Markdown 中使用 Vue 语法和组件,同时支持使用 Vue 构建自定义主题
  • 站点速度快性能好:使用静态 HTML 进行快速初始加载,使用客户端路由进行快速加载后导航。

同时,Vue.js 官方文档也基于 VitePress,但使用多个翻译之间共享的自定义主题。

目前 VitePress 在 Github 通过 MIT 协议开源,有超过 10.8k 的 star、1.8k 的 fork、21.8k 的项目依赖量、代码贡献者 300+、妥妥的前端优质开源项目。

2.VitePress v1.0 新特性

与许多传统的 SSG 不同,VitePress 生成的网站在初次访问时提供静态 HTML,随后水合 (Hydration) 为单页应用程序(SPA)以供站内的后续导航,该模型提供了最好的性能与速度的平衡。

2.1 快速初始化页面加载

对任何页面的初始访问都提供静态、预渲染的 HTML 以实现快速加载速度和最佳 SEO。

然后页面会加载一个 JavaScript Bundle,将页面水合为 Vue SPA,借助于 Vue 3 性能和编译器优化该过程非常快,用户几乎无感。 根据 PageSpeed Insights 数据,即使在网络速度较慢的低端移动设备上,VitePress 网站也能获得近乎完美的性能分数。

2.2 快速加载后导航

VitePress 的 SPA 模型在初始加载后能带来更好的用户体验。

// 使用 Speculation Rules API prefetch 规则配置
// 或者使用 

站内的后续导航不会导致整个页面重新加载。 相反,传入页面的内容被获取并动态更新,VitePress 还会自动预取视口内链接的页面块。 在大多数情况下,加载后导航几乎是实时的。

2.3 较好的互动性

为了能够水合嵌入静态 Markdown 中的动态 Vue 部分,每个 Markdown 页面都被处理为 Vue 组件并编译为 JavaScript。

---
hello: world
---


## Markdown Content
The count is: {{count}}


听起来可能效率比较低,但 Vue 编译器足够智能,可以分离静态和动态部分从而最大限度减少水合成本和有效负载大小。 对于初始页面加载,静态部分会自动从 JavaScript 有效负载中消除并在水合作用期间跳过。

参考资料

https://blog.vuejs.org/posts/vitepress-1.0

https://vitepress.dev/

https://github.com/vuejs/vitepress

https://developer.mozilla.org/en-US/docs/Glossary/Prefetch

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/881.html

标签: vite.js
分享给朋友:

“时隔多年,VitePress 终于迎来了 v1.0 !” 的相关文章

适合旧电脑2022年值得推荐的 10 款轻量级 Linux 发行版

推荐 10 款轻量级Linux 发行版,它们是 2022 年的轻量级、对旧硬件友好的 Linux 发行版。1、Linux LiteLinux Lite 是一款基于#ubuntu# 和 Debian 的、正在不断开发和完善的 Linux 发行版,极好看的 Xfce 桌面,并基于 Ubuntu,采用了...

vue3中父子传值、defineProps用法、defineEmits用法

Vue3中新增了一个 script setup 语法糖模式,可以在单文件组件中更简洁地编写组件逻辑。使用 script setup 语法后,props、data、computed、methods 等选项不再需要独立定义,而是可以直接在 setup 函数中声明,代码结构更加清晰,并且可以更方便地使用响...

代码管理-9-gitlab的使用和设置

gitlab使用1、外观设置完成后保存,返回登录页面查看关于注册,有些公司是不允许打开的,,有些人数非常多的公司就需要打开注册的功能,让人员自己注册,我们来给他特定的权限就可以,毕竟人非常多的时候还由我们来给她们注册就非常不现实了,工作量会很大2、自动注册3、组&用户&项目创建组设置组名称、描述等创...

Java教程:gitlab-使用入门

1 导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作GitLab简介GitLab环境搭建GitLab基本使用(组、权限、用户、项目)2 GitLab简介GitLab是整个DevOps生命周期...

别让“跑焦”毁所有!仅需这一项设置,即可显著改善镜头对焦精度

我常常会收到一些摄影爱好者的私信,也一直在努力的帮助大家解决更多摄影中常见问题。在我收到的所有问题中。有一个问题是最麻烦的,那就是“为什么我的图像看起来模糊?”。这个问题几乎每个人都遇到过,究其原因可以说是多种多样相对复杂。起初我一直认为是对焦问题所导致,也就有了我之前所写的“后按对焦”以及“对焦模...

Vue2的16种传参通信方式

前言先直入主题列出有哪些传参方式,下面再通过事例一一讲解。props(父传子)$emit与v-on (子传父)EventBus (兄弟传参).sync与update: (父子双向)v-model (父子双向)ref$children与$parent$attrs与$listeners (爷孙双向)pr...