其实YUIDoc主页已经写的比较清晰了,但有一些概念和细节再点出一些注意的地方。 目前最新的YUIDoc使用nodejs进行开发安装和使用都非常的方便。 我们只需要将我们的代码加上必要的注释,便可以很方便的生成文档。
前提
- 已经安装了nodejs
- 已经安装了npm
安装
使用npm安装yuidoc
npm -g i yuidocjs
生成
一次性生成
yuidoc .
一次性生成该目录及其子目录下所有JS的文档 默认在不配置的情况下会生成在当前目录的out目录中
实时生成
YUIDoc还提供了一种实时文档生成的方式,有利于团队协作开发 比如在SVN上部署YUIDoc实时文档,递交到SVN的代码都会及时生成文档提供团队使用查阅
yuidoc --server
默认开放监听当前目录文件变动,开放3000端口 可以通过
http://127.0.0.1:3000/
来访问文档 如果3000端口被占用,也可以指定特定端口号
yuidoc --server 5000
来通过开放5000端口提供文档访问
注释
模块与类注释
YUIDoc中代码是分模块的 一个模块中包含着与这个模块相关的类文件 而模块的定义都是混在每个类文件中的 比如ClassA类属于core模块 可以这么加注释
/**
* @module core
*/
/**
* blablabla
* @class ClassA
* @constructor
*/
function ClassA() {}
方法注释
ClassA有个方法为init可以这么写
/**
* blablabla
* @method init
* @param config {Object}
* @param config.containerId {String} desc
* @param config.bgImageUrl {String} desc
* @param config.bInstance {ClassB} 如果ClassB也在注释中,生成后的文档会自动加link
* @public
*/
这里的param定义了该方法有一个参数config 而该参数中会被用到的属性和类型也作出明确注释 yuidoc会自动生成改config层级关系
注意点
如果一个文件中不注明它属于哪个模块,那么该文件会被忽略 不写@class的整个类都会被忽略 不写@method的那么这个方法在文档中是找不到的 yuidoc并不会去找你代码中的方法名 它只关心文档中的这几个关键的注释,至于注释的位置与代码是否真实存在都是没有关系的 完全可以是一个空文件,里面没有代码,定义一堆注释,yuidoc照样解析不误,所以注释的位置是没有关系的
没有提到的
更多配置
想要更多配置项的可以关注下 Running YUIDoc on the Command Line Configuring YUIDoc with yuidoc.json