Как jsdoc аннотировать код BackboneJS?
Кто-нибудь когда-либо документировал код BackboneJS с JSDoc?
У меня возникают проблемы с аннотацией конструкций Backbone, таких как:
User = Backbone.Model.extend({
defaults: { a: 1 },
initialize: function () {
// ...
},
doSomething: function (p) {
// ...
}
});
Любые советы приветствуются. Спасибо.
Ответы
Ответ 1
Я думаю, что это работает так, если вы говорите об инструменте JSDoc Toolkit:
User = Backbone.Model.extend(
/** @lends User.prototype */
{
/**
* @class User class description
*
* @augments Backbone.Model
* @constructs
*
* Text for the initialize method
*/
initialize: function() {}
})
Важным битом является позиция тега @lends
!
Это может быть немного сложно, но если это не сработает, попробуйте другие примеры: http://code.google.com/p/jsdoc-toolkit/wiki/CookBook
Ответ 2
chris_b ответил мне очень много, образец, а также ссылку. Однако мне пришлось отбросить аннотацию @class
или создать две записи для этого класса. Кроме того, я добавляю этот ответ, чтобы показать, как аннотировать статические члены класса (константы уровня класса).
(Мы используем 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;
});