CLI
Docusaurus 提供一組腳本,協助您產生、提供服務及部署您的網站。
引導您建立網站後,網站原始碼將包含可以使用套件管理員呼叫的 Docusaurus 腳本
{
// ...
"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 在本地建立並提供網站預覽。
選項
名稱 | 預設值 | 描述 |
---|---|---|
--port | 3000 | 指定開發伺服器的埠。 |
--host | localhost | 指定要使用的主機。例如,如果您要外部存取伺服器,可以使用 --host 0.0.0.0 。 |
--locale | 指定要使用的網站語言環境。 | |
--hot-only | false | 如果建置失敗,則啟用熱模組替換,作為備用方案,無需更新頁面。更多資訊請見 此處。 |
--no-open | false | 不要在瀏覽器中自動開啟頁面。 |
--config | 未定義 | Docusaurus 組態檔的路徑,預設為 [siteDir]/docusaurus.config.js |
--poll [optionalIntervalMs] | false | 使用檔案輪詢代替執行追蹤更新,作為在追蹤無法作用的環境中的備用方案。更多資訊請見 此處。 |
--no-minify | false | 在沒有最小化 JS/CSS 捆綁的情況下建置網站。 |
請注意,有些功能(例如,錨點連結)在開發中無法使用。功能在實際環境中會按預期方式運作。
從遠端伺服器或虛擬機器(例如 GitHub Codespaces)轉送埠 3000 時,您可以在 0.0.0.0
上執行開發伺服器,讓它監聽本機 IP。
- npm
- Yarn
- pnpm
npm run start -- --host 0.0.0.0
yarn run start --host 0.0.0.0
pnpm run start --host 0.0.0.0
啟用 HTTPS
有多種方法可以取得憑證。我們將使用 mkcert 做為範例。
-
執行
mkcert localhost
以產生localhost.pem
+localhost-key.pem
-
執行
mkcert -install
以在您的信任儲存區中安裝憑證,然後重新啟動瀏覽器 -
使用 Docusaurus HTTPS 環境變數啟動應用程式
HTTPS=true SSL_CRT_FILE=localhost.pem SSL_KEY_FILE=localhost-key.pem yarn start
- 開啟
https://127.0.0.1:3000/
docusaurus build [siteDir]
編譯您的網站,以供生產使用。
選項
名稱 | 預設值 | 描述 |
---|---|---|
--dev | 在開發模式中建置網站,包括完整的 React 錯誤訊息。 | |
--bundle-analyzer | false | 使用 webpack 捆綁分析器 來分析您的捆綁。 |
--out-dir | 建立 | 新的輸出目錄的完整路徑,相對於目前的 Workspace。 |
--config | 未定義 | Docusaurus 組態檔的路徑,預設為 [siteDir]/docusaurus.config.js |
--locale | 在指定的語言環境中建置網站。如果未指定,將會建立所有已知的語言環境。 | |
--no-minify | false | 在沒有最小化 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
- Yarn
- pnpm
npm run swizzle [themeName] [componentName] [siteDir]
# Example (leaving out the siteDir to indicate this directory)
npm run swizzle @docusaurus/theme-classic Footer -- --eject
yarn swizzle [themeName] [componentName] [siteDir]
# Example (leaving out the siteDir to indicate this directory)
yarn swizzle @docusaurus/theme-classic Footer --eject
pnpm run swizzle [themeName] [componentName] [siteDir]
# Example (leaving out the siteDir to indicate this directory)
pnpm 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-build | false | 在不建置網站的情況下部署網站。當使用自訂部署指令碼時,這可能很有用。 |
--target-dir | . | 要部署到的目標目錄路徑。 |
--config | 未定義 | Docusaurus 組態檔的路徑,預設為 [siteDir]/docusaurus.config.js |
docusaurus serve [siteDir]
在本地提供您已建置的網站。
名稱 | 預設值 | 描述 |
---|---|---|
--port | 3000 | 使用指定埠 |
--dir | 建立 | 輸出目錄的完整路徑,相對於目前的Workspace |
--build | false | 製作網站於服務前 |
--config | 未定義 | Docusaurus 組態檔的路徑,預設為 [siteDir]/docusaurus.config.js |
--host | localhost | 指定要使用的主機。例如,如果您要外部存取伺服器,可以使用 --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 檔案的語言資料夾 |
--override | false | 覆寫現有的翻譯訊息 |
--config | 未定義 | Docusaurus 組態檔的路徑,預設為 [siteDir]/docusaurus.config.js |
--messagePrefix | '' | 可以在每個翻譯訊息中加入前綴,以協助你將未翻譯的字串標示出來 |
docusaurus write-heading-ids [siteDir] [files]
在你的網站中加入明確的標題 ID給 Markdown 文件。
名稱 | 預設值 | 描述 |
---|---|---|
files | 外掛所使用的所有 MD 檔案 | 你想要將標題 ID 寫入其中的檔案。 |
--maintain-case | false | 維持標題的大小寫,否則全部轉為小寫。 |
--overwrite | false | 覆寫現有的標題 ID。 |