Angular 工具篇系列教程目录:
本文我们将介绍 Compodoc 这款工具,它用于为 Angular 应用程序生成静态文档。Compodoc 能够帮助 Angular开发人员为他们的应用程序生成清晰且有用的文档,这使得参与应用程序开发的其它成员也可以轻松了解当前应用程序或库的特性。
在安装 Compodoc 之前,我们先来简单了解一下它的特点:
@param
, @returns
, @link
, @ignore
和 @example
标签。首先我们以 local 模式进行安装:
$ npm install --save-dev @compodoc/compodoc
当然你也可以选择 global 模式进行安装:
$ npm install -g @compodoc/compodoc
然后我们在项目的 package.json
中添加以下配置:
"scripts": {
"compodoc": "./node_modules/.bin/compodoc -p src/tsconfig.app.json"
}
配置完 npm script,我们就可以运行以下命令:
$ npm run compodoc
compodoc 命令支持很多选项,这里我们简单介绍几个比较常用的选项:
若需查看完整的配置项,可以浏览 compodoc - usage。
Compodoc 使用 TypeScript AST 解析器和它的内部 API,因此注释必须是合法的 JSDoc 注释。
/**
* Supported comment
*/
/*
* unsupported comment
*/
/*
unsupported comment
*/
// unsupported comment
通过观察上面的示例,我们可以得出一个结论,只有以 /**
开头的注释,才能被 compodoc 识别。
由于 TypeScript 编译器的限制 目前 Compodoc 只支持以下的 JSDoc 标签:
了解完上述标签,我们来看一个比较完整的示例(来源于 ionic-code-documentation)
import { Injectable } from '@angular/core';
/**
Provider for super difficult math operations
*/
@Injectable()
export class MathProvider {
/**
Value of the last operation
*/
storedValued: number;
/**
* @ignore
*/
constructor() { }
/**
* Performs a very special operation
*
* @example
* Simply call it with 2 numbers:
* getResult(2, 3)
*
* @param {number} a First number
* @param {number} b Second number
* @returns The sum of a and b
*/
getResult(a: number, b: number) : number {
let sum = a + b;
this.storedValued = sum;
return sum;
}
}
其实 Compodoc 除了能够根据 JSDoc 标签生成对应的文档之外,它还能为我们自动生成项目概况、路由信息、组件信息及文档覆盖率等。感兴趣的同学,可以访问线上的示例 compodoc-demo-todomvc-angular 详细了解情况。
本文简单介绍了如何利用 Compodoc 这款工具,为 Angular 应用程序生成静态文档,Compodoc 基本上能够满足我们的需求。对 Angular 项目来说,除了 Compodoc 之外,你也可以考虑使用谷歌官方出品的 API 文档生成工具 Dgeni,它对外开放了丰富的接口,还支持插件扩展,具有非常强的定制性。