如何替换项目中的if-else和switch

什么是vitepress

VitePress 是基于vite的vuepress兄弟版。特别适合写博客网站,技术文档,面试题网站,就有着它先天的优势。基本上现在vue官方团队的网站也都使用了vitepress,例如vuejs、vitejs、Vitest、vueuse...哦,还有vitepress官网自己😝。 

不仅如此,它还有极易上手、构建速度快、开发体检佳等优点。并且,它开箱即用,目前正处于 alpha 阶段,配置和 API 可能会在小版本之间发生变化。

相比vuepress的改进点

构建

这个结果显而易见,使用vite可以带来:

  • 更快的本地服务启动
  • 更快的热更新
  • 更快的打包(内部使用Rollup)

更小的页面体积

vitepress使用了vue3,基于Vue3的tree-shaking + Rollup 代码拆分达到了打包体积更小的效果

  • 每个页面的每个请求不会发送元数据。 这将页面权重与页面总数分离。仅返回当前页面的元数据。客户端导航将同时获取新页面的组件和元数据。

  • 不使用 vue-router,因为 VitePress 的需求非常简单和具体 - 使用简单的自定义router(200行以下代码)代替。

配置

VitePress 旨在减少当前 VuePress 的复杂性,并从其极简主义根源重新开始。

新特性

布局

vitepress内置了包括dochomepage的文档布局,

如果你不想要任何布局,你可以通过frontmatter传递 layout: false。如果您想要一个完全可定制的登录页面(默认情况下没有任何侧边栏、导航栏或页脚),这个选项很有用。

主题

VitePress 带有默认主题,并提供许多开箱即用的功能。主题涵盖了导航栏、侧边栏、上下页按钮、编辑链接、最近更新日期、列表、搜索、团队组件等多个功能。

使用自定义主题

你可以通过添加.vitepress/theme/index.ts 文件(“主题入口文件”)来启用自定义主题。

.
├─ docs
│  ├─ .vitepress
│  │  ├─ theme
│  │  │  └─ index.js
│  │  └─ config.js
│  └─ index.md
└─ package.json
复制代码

VitePress 自定义主题是一个只包含四个属性的对象,定义如下:

interface Theme {
  Layout: Component // Vue 3 component
  NotFound?: Component
  enhanceApp?: (ctx: EnhanceAppContext) => void
  setup?: () => void
}

复制代码

主题入口文件应将主题作为其默认导出:

// .vitepress/theme/index.js
import Layout from './Layout.vue'

export default {
  Layout,
  NotFound: () => 'custom 404',
}
复制代码

Layout 组件如下所示:

<!-- .vitepress/theme/Layout.vue -->
<template>
  <h1>Custom Layout!</h1>

  <!-- Content就是markdown渲染的位置 -->
  <Content />
</template>
复制代码

默认导出是自定义主题的唯一方式。 在自定义主题中,它就像普通的 Vite + Vue 3 应用程序一样工作。

扩展默认主题
 

如果想扩展和自定义默认主题,可以从 vitepress/theme 导入它并在导出自定义主题中对其进行扩展。 以下是一些常见自定义的示例:

// .vitepress/theme/index.js
import DefaultTheme from 'vitepress/theme'

export default {
  ...DefaultTheme,
  enhanceApp({ app }) {
    // 注册一个全局组件
    app.component('MyGlobalComponent', /* ... */)
  }
}
复制代码

由于我们使用 Vite,你还可以利用 Vite 的 全局导入特性自动注册组件目录。

自定义 CSS

默认主题 CSS 可通过覆盖根元素的 CSS 变量进行自定义:

// .vitepress/theme/index.js
import DefaultTheme from 'vitepress/theme'
import './custom.css'

export default DefaultTheme
复制代码
/* .vitepress/theme/custom.css */
:root {
  --vp-c-brand: #646cff;
  --vp-c-brand-light: #747bff;
}
复制代码

这里可以看到支持的 默认的主题 CSS 变量.

Layout 组件插槽

默认主题 <Layout/> 组件有一些插槽,可用于在页面的某些位置注入内容。

还有主题颜色,支持亮/暗黑主题,例如下面这个好看的暗黑主题。

 

部署

执行 build 后默认会在(.vitepress/dist)生成构建的产物,然后就可以开始部署到服务器上了。

vitepress 官网提供了 github page 、gitlab page、firebase等多个服务器的部署方式。推荐使用github page,提供了github action的示例代码,基本一步到位。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码云笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值