从 0 到 1 实现类 VitePress 框架,手把手带你造轮子

*   开篇:项目介绍及课程安排

*   框架初体验:环境搭建和功能概览

*   MVP 版本开发(一): CLI 脚手架、Dev Server 搭建

*   MVP 版本开发(二):主题组件渲染实现

*   MVP 版本开发(三):CSR、SSR、SSG 渲染模式原理

*   MVP 版本开发(四):SSG 核心流程开发

*   库构建:如何为我们的工具包接入构建方案?

*   代码规范: 集成项目的编程规范工具链

*   前端测试:搭建单元测试和 E2E 测试环境

*   配置解析器:通用配置文件解析逻辑开发

*   数据整合:整理配置内容、生成站点数据

*   约定式路由(一):前端路由设计和 Demo 实现

*   约定式路由(二):Vite 构建插件开发

*   MDX 编译:整体工具链及生态介绍

*   MDX 插件集成:常用 remark/rehype 插件集成

*   rehype 插件实战(一):实现 preWrapper 插件

*   rehype 插件实战(二): 实现代码高亮插件

*   remark 插件实战: 实现 TOC 解析插件

*   热更新:开发阶段 MDX 模块热更新实现

*   多路由打包:生产环境 SSG 构建功能完善

*   原子化 CSS:为什么要选择 UnoCSS 开发?

*   页面数据流:通过 React Context 共享编译时信息

*   公共导航栏(一):基本结构梳理和 UI 实现

*   公共导航栏(二):深色模式实现

*   Home 页面:根据数据自动组装首页内容

*   侧边栏模块:如何实现自动化的侧边栏生成?

*   正文页面:核心内容区渲染

*   TOC 模块:实现丝滑的内容大纲体验

*   交互逻辑:TOC 相关交互开发

*   TOC 热更新问题:使用自定义 HMR 事件

*   Islands 架构:基本实现原理和运行流程

*   Babel 插件:开发 babel-plugin-island 定制模块编译时

*   自定义 JSX Runtime:运行时拦截 React 的 JSX Runtime 逻辑

*   Islands 打包:构造虚拟模块,打包 Islands 组件代码

*   模板拼接:注入 Islands 组件 bundle 和数据信息

*   React 多实例:使用 Import Map 和预打包解决多实例问题

*   自定义 head 实现: 接入 react-helmet-async

*   生产预览:支持本地预览生产环境产物

*   持续集成与部署:项目的 CI 部署及 NPM 发包规范

*   结束语: 如何保持对技术的热爱?