为什么JSDoc会在一个文件中对所有JS模块进行文档评论?

时间:2013-04-04 12:51:44

标签: jsdoc js-amd

我在目录中有多个JS文件(AMD模块)。当我运行jsdoc命令时,它会生成一个index.html文件,该文件包含所有文件中所有方法的文档注释。为什么要将所有方法都归入一个文件中?

使用以下命令

jsdoc D:\JSworks\shell\widgets -r -d D:\output

我希望index.html拥有指向每个模块的链接,单击它应该显示仅针对该特定模块的方法的文档。我如何实现这一目标?

2 个答案:

答案 0 :(得分:4)

我不知道你的类看起来如何,但这里是一个如何评论AMD模块的例子,以便JSDoc正确地为它生成文档:

/**
 * A Model for users
 * @module  UserModel
 * @exports UserModel
 * @extends AbstractModel
 */

define(["model/AbstractModel"], 
function(AbstractModel ) {

    return UserModel = new Class(
        /** @lends module:UserModel */
        {
            Extends : AbstractModel,

            /**
             * Constructor
             * @memberOf module:UserModel#
             */

            initialize: function() {
                this.parent();
            },

            /**
             * Sets the model value
             * @memberOf module:UserModel#
             * @param {object} value Value to set the model to           
             */

             setValue: function(value){
                // do something
             }

            /**
             * Responsible for returning user metadata
             * @memberOf module:UserModel#
             * @param {object} user User
             */

            getMetaData: function(user) {
                // do something
            }
        }
    );
});

该类将生成以下文档:  enter image description here

可在http://usejsdoc.org/index.html#JSDoc3_Tag_Dictionary

获取JSDOC中使用的完整标签列表

答案 1 :(得分:0)

您还可以为所有AMD依赖项添加@require模型/ AbstractModel(参见上一个答案)和@require。

我认为@lends注释不适合新的Class()。