deno doc
,文件產生器
deno doc
後接一個或多個來源檔案清單,將會列印每個模組的 已匯出 成員的 JSDoc 文件。
例如,給定一個內容為 add.ts
的檔案
/**
* Adds x and y.
* @param {number} x
* @param {number} y
* @returns {number} Sum of x and y
*/
export function add(x: number, y: number): number {
return x + y;
}
執行 Deno doc
指令,將函式的 JSDoc 註解列印至 stdout
deno doc add.ts
function add(x: number, y: number): number
Adds x and y. @param {number} x @param {number} y @returns {number} Sum of x and y
Linting
您可以在產生文件時使用 --lint
旗標檢查文件中的問題。deno doc
會指出三種類型的問題
- 根模組中已匯出類型參照未匯出類型的錯誤。
- 確保 API 使用者可以存取 API 使用的所有類型。這可透過從根模組 (指令列上指定給
deno doc
的檔案之一) 匯出類型,或透過標記類型為@internal
jsdoc 標籤來抑制。
- 確保 API 使用者可以存取 API 使用的所有類型。這可透過從根模組 (指令列上指定給
- 公開 類型缺少回傳類型或屬性類型的錯誤。
- 確保
deno doc
顯示回傳/屬性類型,並有助於改善類型檢查效能。
- 確保
- 公開 類型缺少 JS 文件註解的錯誤。
- 確保程式碼有文件。可透過新增 jsdoc 註解或透過
@ignore
jsdoc 標籤將其排除在文件之外來抑制。或者,新增@internal
標籤以將其保留在文件中,但表示它是內部的。
- 確保程式碼有文件。可透過新增 jsdoc 註解或透過
例如
/mod.ts
interface Person {
name: string;
// ...
}
export function getName(person: Person) {
return person.name;
}
$ deno doc --lint mod.ts
Type 'getName' references type 'Person' which is not exported from a root module.
Missing JS documentation comment.
Missing return type.
at file:///mod.ts:6:1
這些 lint 旨在幫助您撰寫更好的文件並加快專案中的類型檢查。如果發現任何問題,程式將會以非零結束碼結束,而輸出會報告至標準錯誤。
HTML 輸出
使用 --html
旗標產生包含文件的靜態網站。
$ deno doc --html --name="My library" ./mod.ts
$ deno doc --html --name="My library" --output=./documentation/ ./mod.ts
$ deno doc --html --name="My library" ./sub1/mod.ts ./sub2/mod.ts
產生的文件是一個包含多個頁面的靜態網站,可以部署到任何靜態網站託管服務。
已在產生的網站中包含客戶端搜尋,但如果使用者的瀏覽器已停用 JavaScript,則無法使用。
JSON 輸出
使用 --json
旗標以 JSON 格式輸出文件。此 JSON 格式由 deno 文件網站 使用,並用於產生模組文件。