问题描述
我正在使用JsDoc编辑js文件以获得干净的文档.我的结构很简单:
I'm editing a js file with JsDoc to get a clean documentation.My structure is quite simple:
/**
* Finds an object
* @param {string} prop - Property
*/
Array.prototype.findObject = function _findObj(prop, val){
// blablabla
}
function myfunc(plep){
// does something
}
/**
* Workshop Namespace
* @namespace
*/
var Workshop = {};
/**
* Does something great
* @param {*} plep - My super param!
*/
Workshop.doIt = myfunc;
/**
* It works!
* @param {string} fly - my flying param
*/
Workshop.flyNow = function _flyN (fly){
// fly!
}
但是
- 不显示第一个功能的文档.
- 已创建Workshop名称空间
- Workshop.do仅通过其说明来记录,而没有参数
- Workshop.flyNow有据可查
有人知道为什么吗?
谢谢!
推荐答案
原因如下:
第一个函数未记录,因为它不属于任何可识别的名称空间.要解决此问题,您可以按如下所示创建虚拟名称空间:
First function is not documented because it does not belong to any recognisable namespace. To fix this issue, you could create a virtual namespace as follows:
/*** @命名空间数组*/
您可以按如下方式改进该功能的文档:
And you can improve the documentation of the function as follows:
/**
* Finds an object.
*
* @param {string} prop Property name.
* @param {string|number|function|object} val Value.
*
* @function findObject
* @memberof Array#
*/
Array.prototype.findObject = function _findObj ( prop, val ) {
// blablabla
}
结果如下
未记录参数,因为JSDoc解析器无法将 Workshop.doIt(...)
识别为函数.可以使用 @function
或 @method
标记来解决:
Arguments weren't documented because the JSDoc parser does not recognise Workshop.doIt( ... )
as a function. That can be fixed with the @function
or @method
tag:
/***做点很棒的事* @param {*} plep-我的超级参数!** @方法*/Workshop.doIt = myfunc;
结果看起来像这样:
这篇关于JsDoc命名空间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!