跳到主要内容

安装

Docusaurus 由一组 npm 组成。

提示

使用 快速入门5 分钟⏱ 内了解 Docusaurus!

使用 docusaurus.new 立即在浏览器中测试 Docusaurus!

需求

  • Node.js 版本 18.0 或更高版本(可以通过运行 node -v 来检查)。您可以使用 nvm 在已安装的单台机器上管理多个 Node 版本。
    • 安装 Node.js 时,建议您选中所有与依赖项相关的复选框。

脚手架项目网站

安装 Docusaurus 最简单的方法是使用 create-docusaurus 命令行工具,该工具可帮助您搭建 Docusaurus 网站的框架。您可以在新的空仓库中的任何位置或现有仓库中运行此命令,它将创建一个包含搭建文件的新的目录。

npx create-docusaurus@latest my-website classic

我们推荐使用 classic 模板,以便您可以快速入门,并且它包含 Docusaurus 1 中的功能。classic 模板包含 @docusaurus/preset-classic,其中包括标准文档、博客、自定义页面和 CSS 框架(具有深色模式支持)。您可以使用 classic 模板非常快速地启动并运行,并在您对 Docusaurus 更加熟悉后,再进行自定义。

您还可以通过传递 --typescript 标志来使用模板的 TypeScript 变体。有关更多信息,请参阅 TypeScript 支持

npx create-docusaurus@latest my-website classic --typescript
仅限元数据

如果您正在为 Meta 开源项目设置新的 Docusaurus 网站,请在内部存储库中运行此命令,该存储库包含一些有用的 Meta 特定默认值:

scarf static-docs-bootstrap
替代安装命令

您也可以使用您首选的项目管理器初始化新项目:

npm init docusaurus

运行 npx create-docusaurus@latest --help 或查看其 API 文档 ,以获取有关所有可用标志的更多信息。

项目结构

假设您选择了 classic 模板并将您的站点命名为 my-website,您将看到在新的目录 my-website/ 下生成的以下文件:

my-website
├── blog
│ ├── 2019-05-28-hola.md
│ ├── 2019-05-29-hello-world.md
│ └── 2020-05-30-welcome.md
├── docs
│ ├── doc1.md
│ ├── doc2.md
│ ├── doc3.md
│ └── mdx.md
├── src
│ ├── css
│ │ └── custom.css
│ └── pages
│ ├── styles.module.css
│ └── index.js
├── static
│ └── img
├── docusaurus.config.js
├── package.json
├── README.md
├── sidebars.js
└── yarn.lock

项目结构概述

  • /blog/ - 包含博客 Markdown 文件。如果您禁用了博客插件,可以删除该目录,或者在设置 path 选项后更改其名称。更多详细信息可以在 博客指南 中找到
  • /docs/ - 包含文档的 Markdown 文件。在 sidebars.js 中自定义文档侧边栏的顺序。如果您禁用了文档插件,可以删除该目录,或者在设置 path 选项后更改其名称。更多详细信息可以在 文档指南 中找到
  • /src/ - 非文档文件,如页面或自定义 React 组件。您不必严格地将您的非文档文件放在这里,但是将它们放在一个集中的目录下更容易指定,以防您需要进行某种 linting/处理
    • /src/pages - 此目录中的任何 JSX/TSX/MDX 文件都将转换为网站页面。更多详细信息可以在 页面指南 中找到
  • /static/ - 静态目录。此目录内的任何内容都将复制到最终 build 目录的根目录
  • /docusaurus.config.js - 包含站点配置的配置文件。这相当于 Docusaurus v1 中的 siteConfig.js
  • /package.json - Docusaurus 网站是一个 React 应用程序。您可以在其中安装和使用任何您喜欢的 npm 包
  • /sidebars.js - 文档使用它来指定侧边栏中文档的顺序

单体仓库

如果您正在将 Docusaurus 用于现有项目的文档,则单体仓库可能是您的解决方案。单体仓库允许您在类似项目之间共享依赖项。例如,您的网站可以使用您的本地包来展示最新功能,而不是依赖于已发布的版本。然后,您的贡献者可以在实现功能时更新文档。一个示例单体仓库文件夹结构如下所示:

my-monorepo
├── package-a # 另一个包,您的实际项目
│ ├── src
│ └── package.json # 包 A 的依赖项
├── website # Docusaurus 根目录
│ ├── docs
│ ├── src
│ └── package.json # Docusaurus 的依赖项
├── package.json # 单体仓库的共享依赖项

在这种情况下,您应该在 ./my-monorepo 文件夹内运行 npx create-docusaurus

如果您使用的是 Netlify 或 Vercel 等托管提供商,则需要将站点的“基本目录”更改为 Docusaurus 根目录所在的位置。在这种情况下,应该是 ./website。阅读有关在 部署文档 中配置忽略命令的更多信息。

阅读有关单体仓库的更多信息,请参阅 Yarn 文档 (Yarn 不是设置单体仓库的唯一方法,但它是一种常见的解决方案),或者查看 DocusaurusJest 以了解一些真实的例子。

运行开发服务器

要预览您在编辑文件时的更改,您可以运行一个本地开发服务器,该服务器将提供您的网站并反映最新的更改。

cd my-website
npm run start

默认情况下,浏览器窗口将在 http://localhost:3000 打开。

恭喜!您刚刚创建了您的第一个 Docusaurus 站点!浏览网站以查看可用的内容。

构建

Docusaurus 是一款现代静态网站生成器,因此我们需要将网站构建到一个静态内容目录中,并将其放在 Web 服务器上,以便可以查看它。要构建网站:

npm run build

内容将生成在 /build 目录中,可以将其复制到任何静态文件托管服务,如 GitHub pagesVercelNetlify 。查看有关 部署 的文档以了解更多详细信息。

更新您的 Docusaurus 版本

有许多方法可以更新您的 Docusaurus 版本。一种有保证的方法是手动将 package.json 中的版本号更改为所需的版本。请注意,所有 @docusaurus/ 命名空间包都应使用相同的版本。

信息

You are browsing the documentation of an unreleased version. If you want to use any unreleased feature, you can use the @canary release.

package.json
{
"dependencies": {
"@docusaurus/core": "current",
"@docusaurus/preset-classic": "current",
// ...
}
}

然后,在包含 package.json 的目录中,运行您的包管理器的安装命令:

npm install
提示

npm install 可能会报告一些漏洞,并建议运行 npm audit 来解决这些漏洞。通常,这些报告的漏洞(例如 RegExp DOS 漏洞)是无害的,可以安全地忽略。还可以阅读这篇文章,其中反映了我们的想法: npm audit: Broken by Design

要检查更新是否成功,请运行:

npx docusaurus --version

您应该看到正确的版本作为输出。

或者,如果您使用的是 Yarn,您可以执行以下操作:

yarn add @docusaurus/core @docusaurus/preset-classic
提示

使用 @canary npm dist tag 使用 Docusaurus 的新未发布功能

问题?

Stack Overflow 、我们的 GitHub 仓库 、我们的 Discord 服务器X 上寻求帮助。