我有两种类型的模块:
Require.js 主文件:
require.config({
baseUrl: "/another/path",
paths: {
"some": "some/v1.0"
},
waitSeconds: 15,
locale: "fr-fr"
});
require( ["some/module", "my/module", "a.js", "b.js"],
function(someModule, myModule) {
}
);
调解者模式:
define([], function(Mediator){
var channels = {};
if (!Mediator) Mediator = {};
Mediator.subscribe = function (channel, subscription) {
if (!channels[channel]) channels[channel] = [];
channels[channel].push(subscription);
};
Mediator.publish = function (channel) {
if (!channels[channel]) return;
var args = [].slice.call(arguments, 1);
for (var i = 0, l = channels[channel].length; i < l; i++) {
channels[channel][i].apply(this, args);
}
};
return Mediator;
});
如果可能的话,我如何使用 jsdoc3 来记录这个内容?
这是我对SO的第一个回答,请让我知道如何改进未来的答案。
你的具体例子
我已经花了两天时间寻找这个问题的答案,并且似乎没有一种方法可以自动记录 RequireJS AMD 模块而不需要一些冗余(例如重复的函数名称)。 Karthrik 的答案在生成文档方面做得很好,但是如果代码中的某些内容被重命名,文档仍然会根据 jsDoc 标签中的内容生成。
我最终做的是以下内容,是根据 Karthik 的示例进行调整的。请注意@lends
第 1 行上的标记,并删除@name
来自 jsDoc 注释块的标记。
define([], /** @lends Mediator */ function(Mediator){
/**
* Mediator class
* This is the interface class for user related modules
* @class Mediator
*/
var channels = {};
if (!Mediator) Mediator = {};
/**
* .... description goes here ...
* @function
*
* @param {Number} channel .....
* @param {String} subscription ..............
* @example
* add the sample code here if relevent.
*
*/
Mediator.subscribe = function (channel, subscription) {
if (!channels[channel]) channels[channel] = [];
channels[channel].push(subscription);
};
Mediator.publish = function (channel) {
if (!channels[channel]) return;
var args = [].slice.call(arguments, 1);
for (var i = 0, l = channels[channel].length; i < l; i++) {
channels[channel][i].apply(this, args);
}
};
return Mediator;
});
据我了解,@lends
标签会将下一个对象文字中的所有 jsDoc 注释解释为引用的类的一部分@lends
标签。在这种情况下,下一个对象文字是以function(Mediator) {
. The @name
标签被删除,以便 jsDoc 在源代码中查找函数名称等。
注意:我用过@exports
标签与我放置的位置相同@lends
标签。虽然这有效,但它会在文档中创建一个模块......而我只想为该类生成文档。这个方法对我有用!
一般 jsDoc 参考
-
jsdoc-toolkit 标签参考 http://code.google.com/p/jsdoc-toolkit/wiki/TagReference- jsdoc-toolkit 中标签的重要参考。还有很多例子!
-
2ality 的 jsDoc 简介 http://www.2ality.com/2011/08/jsdoc-intro.html- 基于jsDoc-toolkit的综合教程。
-
jsDoc3 参考 http://usejsdoc.org- 相当不完整,但有一些例子。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)