快捷菜单
常用功能一站直达
更多功能请点顶栏「快捷菜单」

[[toc]]
[toc]
逛掘金发现了一个很酷的 404 页面,于是想在自己的博客也搞一个,正好 VitePress 也支持自定义 404 页面的内容,可以根据官方提供的not-found插槽去配置即可,在自定义的 docs/.vitepress/theme/index.ts 文件中去配置就行。
警告
本着开源共享、共同学习的精神:
本文是在 《Hyde Blog》博主的《自定义404》文章 基础上增加了一些自己的实际操作记录和修改,内容依旧属于原作者所有。转载无需和我联系,但请注明文章来源。如果侵权之处,请联系博主进行删除,谢谢。
原始作者:《海拥》
2025.4.14(已解决)
警告
次配置适用于Teek@1.0.2-2025.4.10版本(其它版本可自行测试)。提示
自己开源的 《vitepress-theme-teek-one-public》网站模板。
此模板是在《Young Kbt blog》大佬开源项目《vitepress-theme-teek 》基础上修改为自己的风格而成,感谢大佬开发得主题,大佬威武。❤️❤️
1pnpm add -D parallax-js1npm add -D parallax-js1yarn add -D parallax-js1bun add -D parallax-jsdocs/.vitepress/theme/components 目录下新建 NotFound.vue 文件,内容如下:NotFound.vue文件内容:
docs/.vitepress/theme/index.ts中注册组件 1import { h } from "vue";
2import DefaultTheme from "vitepress/theme";
3import NotFound from "./components/NotFound.vue"; // 导入404组件
4
5export default {
6 // 自定义布局配置
7 Layout: () => {
8 const props = {};
9 // 获取 frontmatter
10 const { frontmatter } = useData();
11
12 // 添加自定义 class
13 if (frontmatter.value?.layoutClass) {
14 props.class = frontmatter.value.layoutClass;
15 }
16 return h(DefaultTheme.Layout, props, {
17 // 自定义文档底部
18 "doc-after": () => h(siteFooter),
19 // 自定义404页面内容
20 "not-found": () => h(NotFound),
21 });
22 },
23};自己实际`docs/.vitepress/theme/index.ts`配置内容:


运行项目,随便输入一个不存在的url:

测试结束。
https://juejin.cn/post/7474038290216779788?searchId=20250414011044ECD152E18DDFB55D0E97
在自定义的theme/index.js文件中去配置就行。
1import { h } from "vue";
2import DefaultTheme from "vitepress/theme";
3import NotFound from "./components/404.vue";
4
5export default {
6 // 自定义布局配置
7 Layout: () => {
8 const props = {};
9 // 获取 frontmatter
10 const { frontmatter } = useData();
11
12 // 添加自定义 class
13 if (frontmatter.value?.layoutClass) {
14 props.class = frontmatter.value.layoutClass;
15 }
16 return h(DefaultTheme.Layout, props, {
17 // 自定义文档底部
18 "doc-after": () => h(siteFooter),
19 // 自定义404页面内容
20 "not-found": () => h(NotFound),
21 });
22 },
23};404.vue 页面
1<template>
2 <div class="not-found">
3 <h1>404</h1>
4 <p>哎呀,您访问的页面不存在!</p>
5 <a href="/404.html" target="_self">返回首页</a>
6 </div>
7</template>这样就可以自定义VitePress的404页面内容了。
https://juejin.cn/post/6955460636151119902?searchId=2025041401265634C5E8408C802D4F1CA7

源码位置:

我的博客主旨:
🍀 个人网站

🍀 微信二维码
x2675263825 (舍得), qq:2675263825。

🍀 微信公众号
《云原生架构师实战》

🍀 csdn
https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

🍀 知乎
https://www.zhihu.com/people/foryouone

如果你还有疑惑,可以去我的网站查看更多内容或者联系我帮忙查看。
如果你有更好的方式,评论区留言告诉我。谢谢!
好了,本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!

日历 · 精选 · 友链 · 更多
如果内容对你有帮助,欢迎请我喝杯咖啡 ☕



One的公众号
爱折腾博客的小白