docusaurus2 项目安装流程
docusaurus 本质上是一组 npm 包, 使用命令行工具可以快速简安装 Docusaurus2 并搭建网站框架,可以在空仓库或现有仓库的任何地方运行这个命令,它会创建一个包含 模板文件 的新目录
版本要求,Node.js v16.14 或以上版本
// 查看 create-docusaurus 有哪些选项参数
npx create-docusaurus@latest --help
# npx create-docusaurus@latest --help 打印的参数
Usage: create-docusaurus [options] [siteName] [template] [rootDir]
-V, --version output the version number
-p, --package-manager <manager> The package manager used to install dependencies. One of yarn, npm, and pnpm.
-s, --skip-install Do not run package manager immediately after scaffolding
-t, --typescript Use the TypeScript template variant
-g, --git-strategy <strategy> Only used if the template is a git repository.
`deep`: preserve full history
`shallow`: clone with --depth=1
`copy`: do a shallow clone, but do not create a git repo
`custom`: enter your custom git clone command. We will prompt you for it.
-h, --help display help for command
// 新建一个 docusaurus2 项目命令
// Usage: create-docusaurus [siteName] [template] [rootDir] [options]
// 新建了 一个 docusaurus-blog 项目,使用了 classic 模板,使用 npm/yarn/pnpm 其中某一个包管理器
npx create-docusaurus@latest 项目名称(如:docusaurus-blog) 使用的模版(如:classic) [根目录] -p npm/yarn/pnpm
// 使用 typescript
npx create-docusaurus@latest 项目名称(如:docusaurus-blog) 使用的模版(如:classic) [根目录] -p npm/yarn/pnpm --typescript
npx + npm 创建 docusaurus2 项目
// 包管理工具使用 npm,默认值
npx create-docusaurus@latest docusaurus-blog classic -p npm
npx + yarn 创建 docusaurus2 项目
// 包管理工具使用 yarn
npx create-docusaurus@latest docusaurus-blog classic -p yarn

Docusaurus package.json 脚本说明
{
// ...
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids"
}
}
cd 到 docusaurus-blog 项目 yarn start 将项目跑起来
项目目录说明
docusaurus-blog
├── README.md
├── babel.config.js
├── blog
| ├── 2022-10-20-welcome.md
| └── authors.yml
├── configs
| ├── presets.js
| ├── sidebars.js
| └── themeConfig
| ├── algolia.js
| ├── footer.js
| ├── index.js
| ├── navbar.js
| └── prism.js
├── docs
| ├── mydocs
| | ├── _category_.json
| | ├── react.md
| | └── vue.md
| └── product
| ├── _category_.json
| ├── page1.md
| └── page2.md
├── docusaurus.config.js
├── package.json
├── src
| ├── components
| | └── HomepageFeatures
| ├── css
| | └── custom.css
| └── pages
| ├── index.js
| ├── index.module.css
| └── markdown-page.md
├── static
| └── img
| ├── docusaurus.png
| ├── favicon.ico
| ├── logo.svg
| ├── undraw_docusaurus_mountain.svg
| ├── undraw_docusaurus_react.svg
| └── undraw_docusaurus_tree.svg
└── yarn.lock
- /blog/ - 包含博客的 Markdown 文件。如果禁博客插件,可以删除这个目录,或者也可以在设置 path 选项之后修改它的名称
- /docs/ - 包含文档的 Markdown 文件。可以在 sidebars.js 中自定义文档的侧边栏顺序。 如果后续禁用了文档插件,可以删除这个目录,或者你也可以在设置 path 选项之后修改它的名称
- /src/ - 如页面或自定义 React 组件一类的非文档文件。 严格来说,不一定要把非文档类文件放在这里。不过把它们放在一个集中的目录,可以让代码检查或者处理更为简便。
- /src/pages - 所有放在此目录中的 JSX/TSX/MDX 文件都会被转换成网站页面
- /static/ - 静态目录。此处的所有内容都会被复制进 build 文件夹
- /docusaurus.config.js - 站点配置文件
- /package.json - Docusaurus 网站是一个 React 应用,你可以安装并使用任何 npm 包。
- /sidebars.js - 由文档使用,用于指定侧边栏中的文档顺序
配置说明和修改
像 vue-cli 项目一样,我们都是在 vue.config.js 中配置相关数据,如:baseUrl、publicPath等, docusaurus2 项目,可以在 docusaurus.config.js 进行相关数据配置,该文件不需要手动创建了, 创建项目的时候 create-docsaurus 已经帮忙创建好了,并且附带很多常用的配置。
从配置的归类出发,Docusaurus 配置可被分为这几类,方便记忆和理解:
- 站点元数据(title、baseUrl、staticDirectories等)
- 主题(themeConfig - sidebar、navbar、footer)、插件、和预设(preset)配置
- 部署配置(deploy)