安装
Docusaurus 由一组 npm 包 组成。
使用**快速上手**在 5 分钟 ⏱ 内了解 Docusaurus!
使用 docusaurus.new 在浏览器中立即测试 Docusaurus!
要求
- Node.js 版本 18.0 或以上(可以通过运行
node -v
来检查)。您可以使用 nvm 在单台机器上管理多个 Node.js 版本。- 安装 Node.js 时,建议选中所有与依赖项相关的复选框。
脚手架项目网站
安装 Docusaurus 最简单的方法是使用 create-docusaurus
命令行工具,它可以帮助您搭建一个骨架 Docusaurus 网站。您可以在新的空存储库中的任何地方或在现有存储库中运行此命令,它将创建一个包含脚手架文件的新目录。
npx create-docusaurus@latest my-website classic
我们推荐 classic
模板,这样您可以快速开始,它包含 Docusaurus 1 中的功能。classic
模板包含 @docusaurus/preset-classic
,其中包括标准文档、博客、自定义页面和 CSS 框架(支持暗色模式)。您可以使用经典模板极快地启动和运行,并在对 Docusaurus 更加熟悉后自定义内容。
您也可以通过传递 --typescript
标志来使用模板的 TypeScript 变体。有关更多信息,请参阅 TypeScript 支持。
npx create-docusaurus@latest my-website classic --typescript
如果您正在为 Meta 开源项目设置新的 Docusaurus 网站,请在内部存储库中运行此命令,它带有一些有用的 Meta 特定默认值:
scarf static-docs-bootstrap
替代安装命令
您也可以使用您首选的项目管理器初始化新项目:
- npm
- Yarn
- pnpm
- Bun
npm init docusaurus
yarn create docusaurus
pnpm create docusaurus
bunx create-docusaurus
运行 npx create-docusaurus@latest --help
,或查看其 API 文档 了解所有可用标志的更多信息。
项目结构
假设您选择了经典模板并将您的站点命名为 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 组件。您不必严格将非文档文件放在这里,但将它们放在集中目录下可以更容易地指定,以防您需要进行某种代码检查/处理/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 等托管提供商,您需要将站点的 Base directory
更改为您的 Docusaurus 根目录所在的位置。在这种情况下,那就是 ./website
。在部署文档中阅读更多关于配置忽略命令的信息。
在 Yarn 文档中阅读更多关于单体仓库的信息(Yarn 不是设置单体仓库的唯一方法,但它是一个常见的解决方案),或查看 Docusaurus 和 Jest 的一些真实世界示例。
运行开发服务器
要在编辑文件时预览更改,您可以运行本地开发服务器,该服务器将为您的网站提供服务并反映最新更改。
- npm
- Yarn
- pnpm
- Bun
cd my-website
npm run start
cd my-website
yarn run start
cd my-website
pnpm run start
cd my-website
bun run start
默认情况下,浏览器窗口将在 http://localhost:3000
打开。
恭喜!您刚刚创建了您的第一个 Docusaurus 站点!浏览站点以查看可用的内容。
构建
Docusaurus 是一个现代静态网站生成器,因此我们需要将网站构建到静态内容目录中,并将其放在 Web 服务器上以便可以查看。要构建网站:
- npm
- Yarn
- pnpm
- Bun
npm run build
yarn build
pnpm run build
bun run build
内容将在 /build
目录中生成,可以复制到任何静态文件托管服务,如 GitHub pages、Vercel 或 Netlify。查看部署文档了解更多详细信息。
更新您的 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.
{
"dependencies": {
"@docusaurus/core": "current",
"@docusaurus/preset-classic": "current",
// ...
}
}
然后,在包含 package.json
的目录中,运行您的包管理器的安装命令:
- npm
- Yarn
- pnpm
- Bun
npm install
yarn install
pnpm install
bun 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 上寻求帮助。