现在Vite的生态在逐渐完善,今天给大家介绍一款React组件/应用文档编写神器:vite-plugin-react-pages是目前主流的构建文档站点方式:Gatsby-以GraphQL为核心,功能相当齐全,插件生态丰富。但学习曲线很高(React)Docusaurus-公司出品的Meta。功能强大,类似于Gatsby(React)dumi-UmiJS生态中的组件开发文档工具(React)Nextra-基于Next.js的静态站点生成器。(React)VuePress-包含一个Vue驱动的主题系统和插件API,另一部分是为编写技术文档优化的默认主题(Vue)VitePress-对VuePress做了很多改进。VitePress旨在降低当前VuePress的复杂性,并从其极简主义的根源重新开始。(Vue)除了VitePress,其他的都是用Webpack作为开发服务器。一个只有几页的简单文档站点,启动开发服务器所花费的时间变得难以忍受。即使是HMR更新也可能需要几秒钟才能反映在浏览器中。Vite的出现很好地解决了这些问题:近乎即时的服务器启动,只编译服务页面的按需编译,以及闪电般快速的HMR。作为基于Vite的文档解决方案,VitePress仅支持Vue。翻了翻Vite的官方库列表,偶然发现了一个只有100多星的文档解决方案vite-plugin-react-pages。抱着试水的心态开始体验,发现还是蛮好用的。只是很少有人知道。现在,让我们从用户的角度来分析一下它的实用功能。特性vite-plugin-react-pages(vite-pages)是一个基于vite的React应用框架。它适用于:博客站点组件库或产品的文档站点React组件的演示演示它提供了许多功能来帮助开发人员快速构建ReactApp:出色的开发体验。非常快速地启动本地开发服务器,即使有很多页面。HMR与React和MDX配合使用,因此您可以在编辑代码时获得有关更新的即时反馈。基于文件系统的路由。通过遵循简单的文件系统路由约定,可以轻松地创建、定位和开发页面。还可以配置vite-pages如何查找页面文件,以便支持具有任何文件结构的项目。支持MDX。可以使用“普通React”或MDX编写内容。“plainReact”和Markdown的灵活组合,更具可读性和易于编辑。强大的主题定制。vite-pages本身不渲染任何特定的DOM节点。使用默认的官方主题库,自己创建一个主题也很容易,可以自定义页面上的任何内容。基于页面的自动代码拆分。根据访问需要只加载当前页面数据。支持组件和代码预览。看到组件的功能后,就可以通过代码看看组件是如何使用的。支持打字稿类型提取。将typescript的类型定义和注释生成为组件API文档表。开箱即用地支持SSR。通过在构建时将您的应用程序预呈现为HTML,用户可以在加载任何JS之前看到内容。使用vite-pages默认提供三个模板,可以选择初始化app(应用)、lib(组件库),lib-monorepo可以通过命令npminitvite-pages[仓库名]--template[模板]创建自己的初始仓库name]我们执行npminitvite-pageslibrary-demo--templatelib生成一个具有典型Vite结构的项目,具有熟悉的vite.config.ts、pages文件夹和插件的所有显式依赖项。功能:@mdx-js/mdxMDX实现@mdx-js/react是MDX的React实现。vite-plugin-mdxvite支持MDX插件vite-plugin-react-pages文档插件核心实现vite-pages-theme-doc官方文档主题。依赖react-router-dom^5.0.0版本pages目录是文件入口。文件样式路由约定在文件名末尾使用$符号来标识文档页面。.ts|.tsx|.js|.jsx|.md|.mdx所有文件扩展名都有效,只要$是扩展名前的最后一个字符。pages目录下还有一个专门的入口_theme.tsx用来配置当前文档的主题,vite-pages默认使用vite-pages-theme-doc的官方主题。如果定制需求不大,可以通过配置官方主题的参数实现常规功能。比如配置logo,顶部链接,左侧菜单等。我们看一下首页文档代码---title:Homepage---importREADMEfrom'../README.md'
