用RequireJS和JSDoc3记录一个Marionette模块

我终于花了一些时间正式记录我的Marionette代码,但是我遇到了JSDoc3和Marionette模块的一些问题。

我将如何去记录这样定义的Marionette模块:

//Module1.js
define([... , 'views'], function(..., 'views'){
    "usestrict";

    //Marionette Module definition:
    return function(...marionette module params...){
        ...
    }
}

然后在文档中将其挂接到定义如下的视图:

//views.js
define([...], function(...){
    "usestrict";

    var itemView = Marionette.ItemView.extend({
        ...
    };

    //Uses itemView in a region
    return Marionette.Layout.extend({
        ...
        //do stuff with itemView
        ...
    });
}

谢谢!


好的,多亏了路易斯,我想出了如何让模块被识别。 然后,我可以充分利用它,以便将视图注册为模块的类。

Module1.js:

/** @module Module1 */
define([... , 'views'], function(..., 'views'){
    "usestrict";

    /** @lends module:Module1 */

    //Marionette Module definition:
    return function(...marionette module params...){
        ...
    }
}

和View.js:

define([...], function(...){
    "usestrict";

    /**
    * @name module:Module1.Module1/Views/itemView
    * @constructor
    */
    var itemView = Marionette.ItemView.extend(
    /** @lends module:Module1.Module1/Views/itemView.prototype */
    {
        ...
    };

    /**
    * @name module:Module1.Module1/Views/layoutView
    * @constructor
    */
    return Marionette.Layout.extend(
    /** @lends module:Module1.Module1/Views/layoutView.prototype */
    {
        ...
        //do stuff with itemView
        ...
    });
}

几个注意事项:

  • 在视图的@name中,.Module1 /并不是真的必要,但它更容易在doc网页中找到
  • 在这个例子中,itemView在技术上是私有的,因为它不会被返回,但我希望能够在文档中找到它
  • 链接地址: http://www.djcxy.com/p/70417.html

    上一篇: Documenting a Marionette Module with RequireJS and JSDoc3

    下一篇: Documenting a Backbone constructor with JSDoc?