命令行工具(CLI)
提供了一组脚本来帮助您生成、启动和部署网站。
一旦网站初始化之后,网站源码中将包含包管理器可调用的 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" } }
命令列表
docusaurus start [siteDir]
docusaurus build [siteDir]
docusaurus swizzle [siteDir]
docusaurus deploy [siteDir]
docusaurus serve [siteDir]
docusaurus clear [siteDir]
docusaurus write-translations [siteDir]
docusaurus write-heading-ids [siteDir]
Docusaurus CLI 命令
以下是 Docusaurus CLI 命令及用法的列表:
docusaurus start [siteDir]
使用 Webpack Dev Server 在本地构建并提供站点的预览。
参数列表
名称 | 默认值 | 描述 |
---|---|---|
--port | 3000 | 指定开发服务器监听的端口。 |
--host | localhost | 指定要使用的主机。例如,如果希望服务器可以从外部访问,则可以使用 --host 0.0.0.0 。 |
--hot-only | false | 在构建失败的情况下,启用热模块替换而不进行页面刷新的方式作为后备。更多信息请见 这里。 |
--no-open | false | 不要在浏览器中自动打开页面。 |
--config | undefined | 指向 docusaurus 配置文件的路径,默认为 [siteDir]/docusaurus.config.js |
--poll [optionalIntervalMs] | false | 在文件监视(watching)功能不能工作的环境中,使用文件轮询(polling)而不是监视(watching)的功能实现实时重新加载。 更多信息请见 这里。 |
important
请注意,某些功能(例如 anchor 链接)在开发环境中将无法使用,但在生产环境中能正常工作。
启用 HTTPS
有多种获取 SSL 证书的方法。我们将以 mkcert 为例。
运行
mkcert localhost
命令生成localhost.pem
+localhost-key.pem
运行
mkcert -install
将证书安装到您信任的库(store)中,然后重启浏览器设置 HTTPS 环境变量并启动应用程序:
HTTPS=true SSL_CRT_FILE=localhost.pem SSL_KEY_FILE=localhost-key.pem yarn start
- 在浏览器中打开
https://localhost:3000/
地址
docusaurus build [siteDir]
为生产环境编译网站。
参数列表
名称 | 默认值 | 描述 |
---|---|---|
--bundle-analyzer | false | 利用 webpack bundle analyzer 分析所打的包。 |
--out-dir | build | 相对于当前工作空间的新输出目录的完整路径。 |
--config | undefined | 指向 docusaurus 配置文件的路径,默认为 [siteDir]/docusaurus.config.js |
--no-minify | false | 构建网站并且不对 JS/CSS 包进行压缩。 |
info
为了让 CSS 包达到更好的压缩效果,我们使用的是 cssnano 高级预设 (和其它几个 PostCSS 插件) 以及 clean-css 的 level 2 等级的优化。如果由于此 CSS 压缩设置导致您的 CSS 损坏,请在构建按网站时设置环境变量 USE_SIMPLE_CSS_MINIFIER=true
从而使用 cssnano 的默认预设 来压缩 CSS。如果您遇到 CSS 压缩方面的 bug,请 提交问题报告 给我们。
docusaurus swizzle [siteDir]
caution
在 Docusaurus 2 的 beta 阶段,我们不鼓励对组件的 swizzling。主题组件的 API 未来可能会改变并且不向后兼容。如果可能的话,请尽量使用默认主题。
根据自己的喜好,利用 npm run swizzle
可以更改 Docusaurus 主题的任何组件。
- npm
- Yarn
npm run swizzle [themeName] [componentName] [siteDir] # Example (leaving out the siteDir to indicate this directory) npm run swizzle @docusaurus/theme-classic DocSidebar
yarn run swizzle [themeName] [componentName] [siteDir] # Example (leaving out the siteDir to indicate this directory) yarn run swizzle @docusaurus/theme-classic DocSidebar
运行该命令会将相关主题文件复制到您的站点文件夹中。然后,您可以对其进行任何更改,Docusaurus 将使用修改过的版本而不是主题自带的内容。
如果运行 npm run swizzle
命令时未指定 themeName
,则会列出所有可被覆盖(swizzling)的主题;同样的,而如果运行 npm run swizzle <themeName>
命令时未指定 componentName
则会列出所有可被覆盖(swizzling)的组件。
参数列表
名称 | 描述 |
---|---|
themeName | 正在使用的主题的名称。 |
swizzleComponent | 需要覆盖(swizzling)的组件的名称。 |
--danger | 允许覆盖(swizzling)非稳定版本的组件 |
--typescript | 覆盖(swizzling) TypeScript 组件 |
使用 --danger
标志的示例如下:
- npm
- Yarn
npm run swizzle @docusaurus/theme-classic Logo -- --danger
yarn run swizzle @docusaurus/theme-classic Logo -- --danger
caution
非稳定版本的组件(Unstable Components):指由于内部重构而具有较大不兼容风险的组件。
如需取消自定义组件,只需删除自定义组件所对应的文件即可。
docusaurus deploy [siteDir]
如需将站点部署到 GitHub Pages 上,请查看 部署 章节的文档以了解更多信息。
参数列表
名称 | 默认值 | 描述 |
---|---|---|
--out-dir | build | 相对于当前工作空间的新输出目录的完整路径。 |
--skip-build | false | 略过构建步骤并部署网站。 使用自定义部署脚本时会很有用。 |
--config | undefined | 指定 docusaurus 配置文件的路径,默认为 [siteDir]/docusaurus.config.js |
docusaurus serve [siteDir]
为构建后的网站启动 web 服务器。
参数名 | 默认值 | 描述信息 |
---|---|---|
--port | 3000 | 使用指定的端口号 |
--dir | build | 输出目录的完整路径(相对于当前工作空间) |
--build | false | 在启动 web 服务器前先构建网站 |
--config | undefined | 指向 docusaurus 配置文件的路径,默认为 [siteDir]/docusaurus.config.js |
--host | localhost | 指定要使用的主机。例如,如果您希望启动的 web 服务器能够从外部被访问,则可以指定 --host 0.0.0.0 。 |
docusaurus clear [siteDir]
清除 Docusaurus 站点在构建时生成的静态资源、缓存、副产品。
我们建议在报告错误之前、升级版本之后或在 Docusaurus 网站出现问题的时候首先运行此命令。
docusaurus write-translations [siteDir]
将需要翻译的内容写入 JSON 文件中。
默认情况下,该文件将被写入 website/i18n/<defaultLocale>/...
目录中。
名称 | 默认值 | 描述 |
---|---|---|
--locale | <defaultLocale> | 定义本地化语言所对应的目录,并将用于翻译的 JSON 文件写入其中 |
--override | false | 覆盖已经翻译的消息 |
--config | undefined | docusaurus 配置文件的路径,默认为 [siteDir]/docusaurus.config.js |
--messagePrefix | '' | 为每条待翻译的消息前添加前缀,以帮助你突出显示未翻译的字符串 |
docusaurus write-heading-ids [siteDir]
为站点的 Markdown 文档显式地添加 标题的 id 。