JSDoc3:如何记录返回函数的AMD模块
我试图找到一种方法来使用JSDoc3来记录AMD模块。
/**
* Module description.
*
* @module path/to/module
*/
define(['jquery', 'underscore'], function (jQuery, _) {
/**
* @param {string} foo Foo-Description
* @param {object} bar Bar-Description
*/
return function (foo, bar) {
// insert code here
};
});
可悲的是,http://usejsdoc.org/howto-commonjs-modules.html上列出的模式都不适用于我。
我如何生成一个适当的文档,列出模块导出的函数的参数和返回值?
从最新的稳定版本(3.2.2)开始,我不认为有一种方法可以使用jsdoc生成文档,以显示模块本身接受参数并返回一些值。 我能最接近理想的是:
/**
* Module description.
*
* @module path/to/module
*/
define(['jquery', 'underscore'], /** @lends module:path/to/module */
function (jQuery, _) {
/**
* The following function documents the parameters that the module
* takes and its return value. Do not call as
* <code>module.self(...)</code> but as <code>module()</code>.
*
* @param {string} foo Foo-Description
* @param {object} bar Bar-Description
*/
return function self(foo, bar) {
// insert code here
};
});
生成的模块文档将有一个名为self
的额外内部函数。
以下似乎产生了一个看起来完全可以接受的结果:
/**
* Module description
*
* @module path/to/module
*/
define(['jquery', 'underscore'], function (jQuery, _) {
/**
* Description for function.
*
* @param {string} foo Foo-Description
* @param {object} bar Bar-Description
*/
var exports = function () {
// insert code here
};
return exports;
});
其中描述模块和功能类似于:
require("path/to/module")(foo, bar)
这对于AMD模块来说并不完美,但我认为该文档的读者能够理解模块的输出。
链接地址: http://www.djcxy.com/p/70421.html上一篇: JSDoc3: How to document a AMD module that returns a function