2016-10-01 63 views
4

什么是流星应用程序中使用JSDoc正确的方法是什么? 下面是我编写代码的方法,但所有部分之间没有“连接”。 所有内容都属于示例模板,所以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') 
    } 
}); 

回答

0

我在哪里工作,我们遇到了同样的情况在几个月前,我们得出的结论是,jsdoc只是不适合自动文档与Meteor的实现。我们最终使用https://github.com/fabienb4/meteor-jsdoc,这让我们完全满意。 它基本上延伸jsdoc语法与流星特定的关键字,以便您可以指定哪些是Meteor.call,什么是收集帮助等等。一旦配置和运行,输出基本上就是Meteor的文档1.3以前的样子(正如作者所说,它是“基于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 **/ 
    } 
+0

您能否给我举个示例代码?我不知道我应该用什么'isTemplate',我应该如何纪念'events' ... – user3142695

+0

我编辑它,让我知道它是否适合。 – ko0stik