使用jsdoc
为工具类库创建文档
安装
bash
npm install jsdoc -save-dev
基本使用
- 对单个
js
文件进行转换:
bash
jsdoc a.js b.js
- 配置
jsdoc.json
文件,根据配置进行生成
bash
jsdoc -c jsdoc.json
配置文件:conf.json
常用配置:
json
{
"source": {
"include": [ "src/" ],
"exclude": [ "src/libs" ]
},
"opts": {
"template": "templates/default",
"encoding": "utf8",
"destination": "./docs/",
"recurse": true,
"verbose": false
}
}
source
表示传递给 JSDOC 的文件source.include
表示 JSDOC 需要扫描哪些文件source.exclude
表示 JSDOC 需要排除哪些文件opts
表示传递给 JSDOC 的选项opts.template
生成文档的模板,默认是 templates/defaultopts.encoding
读取文件的编码,默认是 utf8opts.destination
生成文档的路径,默认是 ./out/opts.recurse
运行时是否递归子目录opts.verbose
运行时是否输出详细信息,默认是 false
注释
js
/**
* @author j
* @description list 数据结构 转换成 树结构
* @param {Array} data 需要转换的数据
* @param {String} id 节点 id
* @param {String} pid 父级节点 id
* @param {String} child 子树为节点对象的某个属性值
* @param {Object} labels 需要新增的字段名集合 { label: 'category_name' }
* @return {Array}
*
* @example
* formatListToTree({data: [{id:1}, {id: 2}, {id: 3, pid: 1}]})
* =>
* [ { id: 1, children: [ {id: 3, pid: 1} ] }, { id: 2 } ]
*/
function formatListToTree({
data = [],
id = "id",
pid = "pid",
child = "children",
labels = null
}) {
...
常见的 JavaScript 块级注释,必须以 /**
开头,不然会被忽略掉。
@author
该类/方法的作者。@class
表示这是一个类。@function/@method
表示这是一个函数/方法(这是同义词)。 -@private
表示该类/方法是私有的,JSDOC 不会为其生成文档。@name
该类/方法的名字。@description
该类/方法的描述。@param
该类/方法的参数,可重复定义。@return
该类/方法的返回类型。@link
创建超链接,生成文档时可以为其链接到其他部分。@example
创建例子。
分类
通常情况下jsdoc
会自动的识别class
、全局function
,但是我们也需要他是按什么规则识别的
classes
分类使用
@class
标签标识类名,此类将会被归类到classes
modules
分类在
js
文件中首行标识此文件模块类型,如:js/** @module Type */
此模块将会被归类到
modules
global
分类常规函数将会被归类到
global
主题
可在github
上搜索:jsdoc theme
得到合适的主题
推荐使用:clean-jsdoc-theme
注意,主题版本应该和
jsdoc
的版本相匹配