Javascript 如何在自调用函数中记录简单类?
如何记录以下代码片段?当我让它保持原样时,Javascript 如何在自调用函数中记录简单类?,javascript,documentation,jsdoc,jsdoc3,Javascript,Documentation,Jsdoc,Jsdoc3,如何记录以下代码片段?当我让它保持原样时,Foo.bar没有描述。当我添加@memberof标记时,它将被记录为静态属性。添加@instance标记不会改变任何内容。这是一个非常简单和常见的代码模式,所以应该很容易编写文档,对吗我讨厌jsdoc… /** * @namespace */ var ns; (function (ns) { 'use strict'; /** * Constructs class * @class ns.Foo *
Foo.bar
没有描述。当我添加@memberof
标记时,它将被记录为静态属性。添加@instance
标记不会改变任何内容。这是一个非常简单和常见的代码模式,所以应该很容易编写文档,对吗我讨厌jsdoc…
/**
* @namespace
*/
var ns;
(function (ns) {
'use strict';
/**
* Constructs class
* @class ns.Foo
*/
function Foo() {
}
/**
* Blabla
*/
Foo.prototype.bar = function () {
};
ns.Foo = Foo;
})(ns || (ns = {}));
我认为您需要做的是在@instance之外添加@function和@memberof。这会告诉jsdoc它是什么以及它的位置:
/**
* Blabla
* @function bar
* @memberof ns.Foo
* @instance
*/
Foo.prototype.bar = function () {
};
我觉得jsdoc也很迟钝。。。坚持住。:-) 我认为您需要做的是在@instance之外添加@function和@memberof。这会告诉jsdoc它是什么以及它的位置:
/**
* Blabla
* @function bar
* @memberof ns.Foo
* @instance
*/
Foo.prototype.bar = function () {
};
我觉得jsdoc也很迟钝。。。坚持住。:-) 用于告诉jsdoc函数中的内容属于您的命名空间。这样,您就不必到处在代码中添加@memberof
。当我在这里运行它时,以下功能起作用:
/**
* @namespace
*/
var ns;
(/** @lends ns */ function (ns) {
'use strict';
/**
* Constructs class
* @class
*/
function Foo() {
}
/**
* Blabla
*/
Foo.prototype.bar = function () {
};
ns.Foo = Foo;
})(ns || (ns = {}));
用于告诉jsdoc函数中的内容属于您的命名空间。这样,您就不必到处在代码中添加@memberof
。当我在这里运行它时,以下功能起作用:
/**
* @namespace
*/
var ns;
(/** @lends ns */ function (ns) {
'use strict';
/**
* Constructs class
* @class
*/
function Foo() {
}
/**
* Blabla
*/
Foo.prototype.bar = function () {
};
ns.Foo = Foo;
})(ns || (ns = {}));
谢谢,它很管用,不过对我来说是FUBAR。在我所有的项目中,猜测正确的jsdoc标记花费的时间比它应该花费的时间要多。此外,jsdoc代码段应该包含文档,但现在它包含大量无意义的标记。正如我所悲伤的:我讨厌它-有没有更好的方法来记录JS文档?不确定。我发现NaturalDocs()更具可预测性,但它在表示方面有点有限,我认为它没有得到积极维护。jsduck()看起来很有趣,但我还没有真正玩过它。我的问题是,我曾多次玩弄过javascript模块,创建了一个专门用于javascript的模块,并且能够更好地解决问题。。。但是,唉,我还有其他工作要做。如果你找到了你更喜欢的东西,请告诉我。谢谢,它很有效,尽管对我来说是福巴。在我所有的项目中,猜测正确的jsdoc标记花费的时间比它应该花费的时间要多。此外,jsdoc代码段应该包含文档,但现在它包含大量无意义的标记。正如我所悲伤的:我讨厌它-有没有更好的方法来记录JS文档?不确定。我发现NaturalDocs()更具可预测性,但它在表示方面有点有限,我认为它没有得到积极维护。jsduck()看起来很有趣,但我还没有真正玩过它。我的问题是,我曾多次玩弄过javascript模块,创建了一个专门用于javascript的模块,并且能够更好地解决问题。。。但是,唉,我还有其他工作要做。如果你发现你更喜欢的东西,请告诉我。现在它起作用了。我一定是错过了什么。但是,在生成的文档中的@JayKuri解决方案中,类名为ns.Foo,而在您的-ns~Foo中。我不知道有什么区别。我忘了这个细节。在
ns.Foo
中,符号Foo
被理解为静态成员,而在ns~Foo
中,符号是内部成员。(文件是)。我想说ns.Foo
更好。但是,无法让@lends
生成此名称。(我试过了。)问题已经报告,所以我希望新版本将升级@lends
,以正确处理它。我更愿意接受不正确的符号,并相信当问题得到解决时,升级将是无痛的,而不必在我庞大的代码库中到处写@memberof
。你能分享你提到的问题的链接吗?我找不到它。这涵盖了jsdoc如何处理内部与静态的问题。当霸权为AMD风格的模块算出它时,它也会为@lends
算出。如果我添加@private
,那么它是私有的,不会显示在文档中。确保没有告诉jsdoc输出私有实体的配置选项,如命令行上的-p
或-private
或配置文件中的等效项。现在它可以工作了。我一定是错过了什么。但是,在生成的文档中的@JayKuri解决方案中,类名为ns.Foo,而在您的-ns~Foo中。我不知道有什么区别。我忘了这个细节。在ns.Foo
中,符号Foo
被理解为静态成员,而在ns~Foo
中,符号是内部成员。(文件是)。我想说ns.Foo
更好。但是,无法让@lends
生成此名称。(我试过了。)问题已经报告,所以我希望新版本将升级@lends
,以正确处理它。我更愿意接受不正确的符号,并相信当问题得到解决时,升级将是无痛的,而不必在我庞大的代码库中到处写@memberof
。你能分享你提到的问题的链接吗?我找不到它。这涵盖了jsdoc如何处理内部与静态的问题。当霸权为AMD风格的模块算出它时,它也会为@lends
算出。如果我添加@private
,那么它是私有的,不会显示在文档中。确保没有告诉jsdoc输出私有实体的配置选项,如命令行上的-p
或-private
或配置文件中的等效项。