如何在 Meteor 应用中使用 JSDoc

5

如何在Meteor应用程序中正确使用JSDoc?以下是我文档化代码的方法,但所有部分之间都没有“连接”。所有内容都属于示例模板,因此jsdoc的输出应正确结构化。

如何改进这个文档?

Template.example.helpers({
    /**
     * Get all categories
     * @name        categories
     * @return      {Cursor}
     * @summary     Cursor categories
     */
    categories() {
        return Categories.find({});
    },
});

Template.example.onCreated(
    /**
     * If template is created (still not rendered), ReactiveDict variable is initialized
     * @function
     * @name        onCreated
     * @summary     Set ReactiveDict
     */
    function() {
        this.something = new ReactiveDict();
    }
);

Template.example.events({
    /**
     * Clicking on category will show a console message
     * @event
     * @summary     Console message
     */
    'click #category': (event, template) => {
        console.log('nice')
    }
});
1个回答

0
在我工作的地方,我们几个月前遇到了同样的情况,我们得出的结论是jsdoc并不适用于与Meteor的实现自动文档生成。我们最终使用了https://github.com/fabienb4/meteor-jsdoc,这让我们非常满意。
它基本上扩展了jsdoc语法,使用Meteor特定的关键字,因此您可以指定什么是Meteor.call,什么是集合助手等等。一旦配置和运行,输出基本上就像1.3之前Meteor文档的样子(正如作者所说,它是“基于Meteor自己文档的模板。”)。
编辑:由于我们不使用Meteor的模板系统,我没有现成的例子,但我为您的情况调整了一个集合助手,请告诉我是否有任何不清楚的地方。诀窍是根据您想要显示文档的方式来使用@memberOf@isMethod等。
   /**
     * @memberOf Foo Template
     * @summary Returns Bar conversation attached to stuff
     * @param {String} fooId
     * @param {Boolean} forced # Use to create foo when it's not found
     * @returns {Object} Bar
     */
    getStuff: function(fooId, forced=false) {
            'use strict';
           /** your code **/
    }

请给我一个示例来演示我的样本代码?我不知道应该如何使用“isTemplate”以及如何标记“events”... - user3142695
@ko0stik,meteor-jsdoc已被弃用,我不确定它是否支持React。你能分享一下你有没有找到其他的解决方案吗? - cenk
@cenk 很抱歉,我已经停止使用Meteor了,所以在这个问题上无法给你太多帮助。 - ko0stik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接