JSDoc3:如何记录返回函数的AMD模块

Jen*_*mon 5 javascript amd jsdoc requirejs jsdoc3

我正试图找到一种使用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
    };
});
Run Code Online (Sandbox Code Playgroud)

可悲的是,http://usejsdoc.org/howto-commonjs-modules.html上列出的模式都不适用于我.

如何生成一个适当的文档,列出模块导出的函数的参数和返回值?

Jen*_*mon 1

以下似乎生成了一个看起来完全可以接受的结果:

/**
 * 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;
});
Run Code Online (Sandbox Code Playgroud)

其中描述了模块和功能,如下所示:

require("path/to/module")(foo, bar)
Run Code Online (Sandbox Code Playgroud)

这对于 AMD 模块来说并不完美,但我认为文档的读者能够理解模块导出的内容。