跳转到内容

从 Docusaurus 迁移

Docusaurus 是一个基于 React 构建的、流行的文档网站生成器。

Docusaurus 和 Astro 之间的主要相似之处

标题为“Docusaurus 和 Astro 之间的主要相似之处”的部分

Docusaurus 和 Astro 有一些相似之处,这将有助于你迁移你的项目

  • Astro 和 Docusaurus 都是现代的、基于 JavaScript(Jamstack)的网站生成器,专为内容驱动型网站(如文档网站)而设计。

  • Astro 和 Docusaurus 都支持 MDX 页面。你应该可以在 Astro 中使用你现有的 .mdx 文件。

  • Astro 和 Docusaurus 都使用基于文件的路由,为位于 src/pages 中的任何 MDX 文件自动生成页面路由。当你使用现有内容或添加新页面时,Astro 的文件结构会让你感到很熟悉。

  • Astro 有一个官方集成用于使用 React 组件。请注意,在 Astro 中,React 文件必须使用 .jsx.tsx 扩展名。

  • Astro 支持安装 NPM 包,包括一些 React 的包。你或许可以保留部分或全部现有的 React 组件和依赖项。

  • 如果你习惯于编写 React,那么 Astro 类似 JSX 的语法应该会让你感到熟悉。

当你在 Astro 中重建你的 Docusaurus 网站时,你会注意到一些重要的区别

  • Docusaurus 是一个基于 React 的单页应用(SPA)。Astro 网站是使用 .astro 组件构建的多页应用,但也可以支持 React、Preact、Vue.js、Svelte、SolidJS、AlpineJS 和原始 HTML 模板。

  • Docusaurus 旨在构建文档网站,并具有一些内置的、特定于文档网站的功能,这些功能在 Astro 中需要你自己构建。相反,Astro 通过Starlight:一个官方文档主题提供了其中一些功能。本网站是 Starlight 的灵感来源,现在也运行在 Starlight 上!你还可以在我们的主题展示中找到更多带有内置功能的社区文档主题。

  • Docusaurus 网站使用 MDX 页面作为内容。Astro 的文档主题默认使用 Markdown(.md)文件,并且不要求你使用 MDX。你可以选择性地安装 Astro 的 MDX 集成(默认包含在我们的 Starlight 主题中),除了标准的 Markdown 文件外,还可以使用 .mdx 文件。

要将 Docusaurus 文档网站转换为 Astro,可以从我们的官方 Starlight 文档主题入门模板开始,或者在我们的主题展示中探索更多社区文档主题。

你可以向 create astro 命令传递 --template 参数,使用我们的官方入门模板来启动一个新的 Astro 项目。你也可以基于 GitHub 上的任何现有 Astro 仓库来创建新项目

终端窗口
npm create astro@latest -- --template starlight

Astro 的 MDX 集成默认包含在内,因此你可以立即将你现有的内容文件添加到 Starlight 中

你可以在 astro.new 上找到 Astro 的文档入门模板以及其他官方模板。你会找到每个项目的 GitHub 仓库链接,以及在 IDX、StackBlitz、CodeSandbox 和 Gitpod 在线开发环境中一键打开工作项目的链接。

更多迁移指南

贡献 社区 赞助