Javascript JSDoc:节点、事件、侦听器

Javascript JSDoc:节点、事件、侦听器,javascript,node.js,documentation,jsdoc,jsdoc3,Javascript,Node.js,Documentation,Jsdoc,Jsdoc3,我试图用JS/NodeJS编写一个相当广泛(对我来说)的代码库。JSDoc似乎是唯一可用的有效工具,但也存在一些挑战。以下是我想知道如何记录的两个方面: 1) 我“需要”一个模块(嗡嗡声),然后设置一个侦听器: var Buzz = require("Buzz"); var ... . . . ["in_call", "idle", "offline", "busy"].forEach(function (e) { Buzz.on

我试图用JS/NodeJS编写一个相当广泛(对我来说)的代码库。JSDoc似乎是唯一可用的有效工具,但也存在一些挑战。以下是我想知道如何记录的两个方面:

1) 我“需要”一个模块(嗡嗡声),然后设置一个侦听器:

    var Buzz = require("Buzz");
    var ...
    .
    .
    .

    ["in_call", "idle", "offline", "busy"].forEach(function (e) {
        Buzz.on("state:" + e, sounds.stop);
    });

    Buzz.on("message", function (message) {
        if (message && !message.read)
            sounds.play("message");
    });
2) 使用“Vue.js”时,现在需要使用函数来设置属性,这意味着函数中有函数作为属性。下面是我让jsdoc记录函数的一种笨拙的方法,但显然没有意义,因为实际上没有ae管理“类”

    /**
     * @class  ae-admin
     */

    module.exports = Vue.component("ae-admin", {
        className: "ae-admin",
        template: template,
        /**
         * [data description]
         * @memberOf ae-admin
         * @return {[type]} [description]
         */
        data: function () {
            return {
            .
            .
            .
            };
        },
        /**
         * ready description]
         * @memberOf ae-admin
         * @return {[type]} [description]
         */
        ready: function () {},
        methods: {
            /**
             * [set_page description]
             * @memberOf ae-admin
             * @param {[type]} page [description]
             */
            set_page: function (page) {
                this.$data.page = page;
            },
            .
            .
            .

有趣的是,JSdoc看起来真的很像javadoc,js范例只是事后才想到的。无论如何,任何帮助都将不胜感激。

对于模块,有@exports和@module标签

与@class相比,这些将更好地记录代码

你可以看到一些非常好的例子以及它们的定义

我使用AMD模块语法,所以我不能为您评论确切的格式,但我相信您应该在那里找到一些示例

如果仍然选择使用类,请尝试在注册的组件之前使用/**@lends className**/而不是类,即

module.exports = Vue.component("ae-admin", /** @lends ae-admin **/{
甚至@lends ae-admin.prototype