2011-06-22 30 views
16

Có ai từng ghi lại mã BackboneJS bằng JSDoc không?Làm thế nào để jsdoc chú thích mã BackboneJS?

tôi đang gặp vấn đề chú thích Backbone xây dựng như:

User = Backbone.Model.extend({ 

    defaults: { a: 1 }, 

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

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

Bất cứ lời khuyên đánh giá cao. Cảm ơn.

+1

Vì JSDoc là một cảng javadoc. Vì vậy, nó không được thiết kế cho JavaScript. Sử dụng cổng ['docco'] (http://jashkenas.github.com/docco/) – Raynos

+0

hoặc một phần của? – XMen

+0

@Raynos Nói chung bạn nói đúng, nhưng JSDoc vẫn có một lợi ích rất lớn: nó có thể cung cấp cho bạn tự động hoàn thành trong một IDE. –

Trả lời

27

Tôi nghĩ rằng nó hoạt động bằng cách nào đó như thế này, nếu bạn đang nói về Toolkit JSDoc:

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

Các bit quan trọng là vị trí của thẻ @lends!

Nó có thể là một chút khó khăn, nhưng nếu điều này không làm việc cố gắng ra một số ví dụ khác: câu trả lời http://code.google.com/p/jsdoc-toolkit/wiki/CookBook

+0

Cảm ơn, đó là những gì tôi đang tìm kiếm. – sean

5

chris_b đã giúp tôi rất nhiều, mẫu cũng như các liên kết. Tuy nhiên, tôi phải bỏ chú thích @class hoặc nó sẽ tạo ra hai mục nhập cho lớp đó. Hơn nữa, tôi đang thêm câu trả lời này để hiển thị cách chú thích các thành viên lớp tĩnh (hằng số mức lớp).

(Chúng tôi sử dụng require.js.)

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; 
}); 
Các vấn đề liên quan