【问题标题】:jsdoc hide Inherited method (in generated doc)jsdoc 隐藏继承方法(在生成的文档中)
【发布时间】:2017-10-31 22:07:35
【问题描述】:

我正在使用 jsdoc 为我的 javascript 项目生成在线文档。

除了我现在遇到的一个问题之外,它工作正常。

假设我有一个包含许多 get/set 函数的基类。

/**
 * cc.BaseClass
 * @class
 * @extends cc.Class
 */
cc.BaseClass = cc.Class.extend(/** @lends cc.BaseClass# */{
    /** 
     * @param {number} a
     */
    setA:function(a){},
    /** 
     * @return {number}
     */
    getA:function(){},
    // ...... 20+ more
});

然后我有一个扩展基类的子类。

/**
 * cc.ChildClass
 * @class
 * @extends cc.BaseClass
 */
cc.ChildClass = cc.BaseClass.extend(/** @lends cc.ChildClass# */{
    /** 
     * @param {number} xxx
     */
    myFunction:function(xxx){}
});

我的问题是为 cc.ChildClass 生成的在线 DOC 包含“myFunction:function”以及从 cc.BaseClass 继承的 20 多个 get/set 函数。

我知道这没有什么问题,但我想知道是否有办法隐藏从 cc.ChildClass 文档中的 cc.BaseClass 继承的所有 20 多个 get/set 函数。

想想如果我有 cc.ChildClassA cc.ChildClassB cc.ChildClassC ...那么我不想看到他们的每个文档都包含从 cc.BaseClass 继承的 20 多个 get/set 函数。

任何建议将不胜感激,谢谢:)

【问题讨论】:

    标签: javascript jsdoc


    【解决方案1】:

    我唯一能想到的就是删除@extend。我在描述中手动添加了指向扩展类的链接。在这种情况下,这对我有用,因为我不需要 @extends 来处理其他任何事情。

    【讨论】:

      【解决方案2】:

      您不应该调整您的代码/类来满足这一点。这应该是模板的责任。这个技巧很好:https://github.com/steveush/foodoc - 演示:https://cancerberosgx.github.io/jsdoc-templates-demo/demo/foodoc/Apple.html。另一个支持它的是ibm的amddcl。在下面寻找https://cancerberosgx.github.io/jsdoc-templates-demo/demo/amddcl/Apple.html#

      其他一些模板根本不显示继承,也不让用户toccle - 我也不想要。我认为 foodoc 允许用户和编译人员很好地配置它。

      顺便说一句,我正在尝试在https://cancerberosgx.github.io/jsdoc-templates-demo/demo/ 收集众所周知的 jsdoc 模板演示 - 每个都有安装说明。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-26
        • 2012-02-13
        • 1970-01-01
        • 2011-04-18
        • 1970-01-01
        • 2010-09-05
        相关资源
        最近更新 更多