我正在使用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函数。
任何建议都将不胜感激,谢谢:)
答案 0 :(得分: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允许用户和编译人员很好地配置它。
BTW我正在尝试在这里收集众所周知的jsdoc模板演示https://cancerberosgx.github.io/jsdoc-templates-demo/demo/ - 每个都有安装说明。
答案 1 :(得分:1)
我唯一想到的就是删除@extend。我手动添加了扩展类的链接到描述。在这种情况下,这对我有用,因为我不需要@extends。