跳至主要內容
版本:3.5.2

CLI

Docusaurus 提供一組腳本,協助您產生、提供服務及部署您的網站。

引導您建立網站後,網站原始碼將包含可以使用套件管理員呼叫的 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 CLI 指令

以下是 Docusaurus CLI 指令和其用法的清單

docusaurus start [siteDir]

使用 Webpack Dev Server 在本地建立並提供網站預覽。

選項

名稱預設值描述
--port3000指定開發伺服器的埠。
--hostlocalhost指定要使用的主機。例如,如果您要外部存取伺服器,可以使用 --host 0.0.0.0
--locale指定要使用的網站語言環境。
--hot-onlyfalse如果建置失敗,則啟用熱模組替換,作為備用方案,無需更新頁面。更多資訊請見 此處
--no-openfalse不要在瀏覽器中自動開啟頁面。
--config未定義Docusaurus 組態檔的路徑,預設為 [siteDir]/docusaurus.config.js
--poll [optionalIntervalMs]false使用檔案輪詢代替執行追蹤更新,作為在追蹤無法作用的環境中的備用方案。更多資訊請見 此處
--no-minifyfalse在沒有最小化 JS/CSS 捆綁的情況下建置網站。
資訊

請注意,有些功能(例如,錨點連結)在開發中無法使用。功能在實際環境中會按預期方式運作。

在網路上進行開發

從遠端伺服器或虛擬機器(例如 GitHub Codespaces)轉送埠 3000 時,您可以在 0.0.0.0 上執行開發伺服器,讓它監聽本機 IP。

npm run start -- --host 0.0.0.0

啟用 HTTPS

有多種方法可以取得憑證。我們將使用 mkcert 做為範例。

  1. 執行 mkcert localhost 以產生 localhost.pem + localhost-key.pem

  2. 執行 mkcert -install 以在您的信任儲存區中安裝憑證,然後重新啟動瀏覽器

  3. 使用 Docusaurus HTTPS 環境變數啟動應用程式

HTTPS=true SSL_CRT_FILE=localhost.pem SSL_KEY_FILE=localhost-key.pem yarn start
  1. 開啟 https://127.0.0.1:3000/

docusaurus build [siteDir]

編譯您的網站,以供生產使用。

選項

名稱預設值描述
--dev在開發模式中建置網站,包括完整的 React 錯誤訊息。
--bundle-analyzerfalse使用 webpack 捆綁分析器 來分析您的捆綁。
--out-dir建立新的輸出目錄的完整路徑,相對於目前的 Workspace。
--config未定義Docusaurus 組態檔的路徑,預設為 [siteDir]/docusaurus.config.js
--locale在指定的語言環境中建置網站。如果未指定,將會建立所有已知的語言環境。
--no-minifyfalse在沒有最小化 JS/CSS 捆綁的情況下建置網站。
資訊

對於 CSS 軟體包的高階縮小,我們會使用 進階的 cssnano 預設值(連同多個額外 PostCSS 外掛程式)和 clean-css 的 2 級最佳化。如果進階 CSS 縮小導致 CSS 破損,請使用環境變數 USE_SIMPLE_CSS_MINIFIER=true 來建置您的網站,並使用 預設 cssnano 預設值 縮小 CSS。如果您遭遇 CSS 縮小錯誤,請 填寫問題回報單

您可以使用環境變數 SKIP_HTML_MINIFICATION=true 來略過 HTML 縮小。

docusaurus swizzle [themeName] [componentName] [siteDir]

交換主題元件來自訂主題。

npm run swizzle [themeName] [componentName] [siteDir]

# Example (leaving out the siteDir to indicate this directory)
npm run swizzle @docusaurus/theme-classic Footer -- --eject

交換 CLI 為互動式,它將引導您完成整個 交換程式

選項

名稱描述
themeName要交換的主題名稱。
componentName要交換的主題元件名稱。
--list顯示可交換的元件
--eject卸除主題元件
--wrap包覆主題元件
--danger允許立即交換不安全的元件
--typescript交換 TypeScript 變體元件
--config到 docusaurus 設定檔的路徑,預設為 [siteDir]/docusaurus.config.js
警告

不安全的元件由於內部變動而有較高的變動風險。

docusaurus deploy [siteDir]

透過 GitHub Pages 部署您的網站。查看 部署 文件,以取得更詳細的資訊。

選項

名稱預設值描述
--locale在指定的地區部署網站。如果不指定,將部署所有已知的地區。
--out-dir建立新的輸出目錄的完整路徑,相對於目前的 Workspace。
--skip-buildfalse在不建置網站的情況下部署網站。當使用自訂部署指令碼時,這可能很有用。
--target-dir.要部署到的目標目錄路徑。
--config未定義Docusaurus 組態檔的路徑,預設為 [siteDir]/docusaurus.config.js

docusaurus serve [siteDir]

在本地提供您已建置的網站。

名稱預設值描述
--port3000使用指定埠
--dir建立輸出目錄的完整路徑,相對於目前的Workspace
--buildfalse製作網站於服務前
--config未定義Docusaurus 組態檔的路徑,預設為 [siteDir]/docusaurus.config.js
--hostlocalhost指定要使用的主機。例如,如果您要外部存取伺服器,可以使用 --host 0.0.0.0
--no-open在本地為false,在CI為true不要開啟瀏覽器視窗至伺服器位置。

docusaurus clear [siteDir]

清除 Docusaurus 網站產生出來的資產、快取、製作成果。

我們建議在回報錯誤、升級版本後或在你的 Docusaurus 網站有任何問題時執行此指令。

docusaurus write-translations [siteDir]

寫出你必須進行翻譯的 JSON 翻譯檔案。

預設會寫入website/i18n/<defaultLocale>/...中。

名稱預設值描述
--locale<defaultLocale>定義你想要將翻譯寫入的 JSON 檔案的語言資料夾
--overridefalse覆寫現有的翻譯訊息
--config未定義Docusaurus 組態檔的路徑,預設為 [siteDir]/docusaurus.config.js
--messagePrefix''可以在每個翻譯訊息中加入前綴,以協助你將未翻譯的字串標示出來

docusaurus write-heading-ids [siteDir] [files]

在你的網站中加入明確的標題 ID給 Markdown 文件。

名稱預設值描述
files外掛所使用的所有 MD 檔案你想要將標題 ID 寫入其中的檔案。
--maintain-casefalse維持標題的大小寫,否則全部轉為小寫。
--overwritefalse覆寫現有的標題 ID。