Я пытаюсь получить документацию JS. Я использую Dojo и некоторые другие сложные рамки, созданные поверх него, я пощажу детали. Дело в том, что в этой структуре используются модули AMD. Я хочу, чтобы мой JSDoc работал.JSDoc3 с Dojo и AMD
Вот то, что я до сих пор:
/**
* Creates a button instance that launches a document entry template selector
* @module widgets/instance/AddButton
*/
define([
"dijit/_TemplatedMixin",
"dijit/_WidgetBase",
"dojo/_base/declare",
"dojo/_base/lang",
"dojo/on",
"kwcn/services/request",
"kwcn/widgets/AddContentDialog"
], function (_TemplatedMixin, _WidgetBase, declare, lang, on, request, AddContentDialog) {
return declare('AddButton', [_WidgetBase, _TemplatedMixin], /** @lends module:widgets/instance/AddButton */{
id: 'add-button',
contentList: null,
templateString: '<button class="btn btn-link toolbar-link"><i class="fa fa-lg fa-file"></i> Add Document</button>',
addContentItem: null,
type: null,
/**
* @constructs
* @param args
* @param args.type {string} The type of content item
* @param args.contentList {ContentList} The instance of [ContentList]{@link module:widgets/contentList/ContentList} in scope
*/
constructor: function (args) {
declare.safeMixin(this, args);
},
/**
* @private
*/
postCreate: function() {
console.log("creating the add content button...");
this.addContentItem = new AddContentDialog({
repository: request.repository(),
hasCase: false
});
this.own(on(this.domNode, 'click', lang.hitch(this, 'show')));
},
/**
* @public
*/
show: function() {
request.inboundFolder().then(lang.hitch(this, function (folder) {
this.addContentItem.showAddDocument(null, folder);
}));
}
});
});
Результат:
Этот результат не плохо. Но это говорит о том, что мои участники статичны. Похоже, что WebStorm делает их корректными как члены, но генератор jsdoc3 этого не делает. Из того, что я читал, мне не нужно было указывать @memberof, поскольку @lends должен заботиться об этом. Есть ли что-то, что я делаю неправильно? Любая общая рекомендация будет оценена по достоинству. Я прочитал документацию JSDoc3, но многие конструкции кажутся размытыми при добавлении AMD в уравнение.
Красивая! Это работало точно так же, как вы сказали. Теперь я чувствую, что вижу. –