2011-06-22 21 views
16

Hiç kimse, BackboneJS kodunu JSDoc ile belgeledi mi? Herhangi bir tavsiye takdirjsdoc BackboneJS kodunu nasıl ekleyebilirim?

User = Backbone.Model.extend({ 

    defaults: { a: 1 }, 

    initialize: function() { 
     // ... 
    }, 

    doSomething: function (p) { 
     // ... 
    } 
}); 

:

yaşıyorum sorunlar annotating Backbone gibi oluşturur. Teşekkürler.

+1

JSDoc JavaDoc'u bir liman olduğu için. Yani JavaScript için tasarlanmamıştır. ['Docco'] (http://jashkenas.github.com/docco/) – Raynos

+0

bağlantı noktasını veya bir bölümünü kullanın? – XMen

+0

@Raynos Genel olarak haklısınız fakat JSDoc'un hala büyük bir faydası var: IDE'de otomatik tamamlama yapabilir. –

cevap

27

Sana JSDoc Toolkit bahsediyoruz eğer, böyle bir şekilde çalışır düşünüyorum:

User = Backbone.Model.extend(
/** @lends User.prototype */ 
{ 
    /** 
    * @class User class description 
    * 
    * @augments Backbone.Model 
    * @constructs 
    * 
    * Text for the initialize method 
    */ 
    initialize: function() {} 
}) 

önemli bit @lends etiketinin pozisyondur! http://code.google.com/p/jsdoc-toolkit/wiki/CookBook

+0

Teşekkürler, tam olarak ne aradığımı. – sean

5

chris_b cevabı bana çok örnek yanı sıra bağlantıyı sağladı: Bu diğer örneklerden bazılarını deneyin işe yaramazsa

O biraz zor olabilir, ancak. Yine de, @class ek açıklamasını bırakmak zorunda kaldım ya da sınıf için iki giriş üretecekti. Ayrıca, statik sınıf üyelerine (sınıf düzeyi sabitleri) nasıl açıklama eklendiğini göstermek için bu yanıtı ekliyorum.

(Biz require.js kullanın.)

define([ 
    'jquery', 'lodash', 'backbone' 
], function($, _, Backbone) { 
    "use strict"; 

    /** 
    * Enumeration of constants that represent the different types of Hedgehogs. 
    * @memberof models/Hedgehog 
    * @enum {string} 
    * @readonly 
    */ 
    var types = { 'type1': 'Type 1', 'type2': 'Type 2' }; 

    var Hedgehog = Backbone.Model.extend(
    /** @lends models/Hedgehog.prototype */ 
    { 
     /** 
     * This is the model for Hedgehogs. 
     * 
     * @augments external:Backbone.Model 
     * @constructs 
     */ 
     initialize: function() { 
      // your code 
     }, 

     // some more methods 
    }, { 
     // static class members 
     "types": types 
    }); 
    return Hedgehog; 
});