我最近开始开发一些jQuery插件,但是我发现使用我找到的文档生成工具来记录它们非常困难。我尝试了: JSDoc、JSDoc-toolkit、JGrouse以及一个基于Web的工具。我最大的问题在于我的插件被编码为一个大的匿名函数,我很难让这些工具识别我正在做什么,或者忽略它并让我键入方法、对象等的文档标签。
还有其他可以帮助记录jQuery插件的工具吗?
谢谢, Sandro
我最近开始开发一些jQuery插件,但是我发现使用我找到的文档生成工具来记录它们非常困难。我尝试了: JSDoc、JSDoc-toolkit、JGrouse以及一个基于Web的工具。我最大的问题在于我的插件被编码为一个大的匿名函数,我很难让这些工具识别我正在做什么,或者忽略它并让我键入方法、对象等的文档标签。
还有其他可以帮助记录jQuery插件的工具吗?
谢谢, Sandro
你有没有看过Natural Docs?它可能没有很明确地支持JavaScript,但它仍然可以做得很好。当然,你可以欺骗它不理解代码,但如果你与它友好相处,它可以成为一个非常好用的工具。
JavaScript文档工具仍然相对不成熟,所以像JavaDoc那样有50多个工具的情况并不存在。已经存在的工具也不能处理像jQuery插件这样的复杂情况(或者至少我没有见过)。
然而,JavaScript是一种非常灵活的语言,因此您可以通过重新编写插件使您的文档工具满意。
例如,您可以使用以下方式代替:
(function($) {
$.yourMethod = function() {/* do something */}
})(jQuery);
function yourMethod = function() {
/* do something */
}
(function($) {
$.yourMethod = yourMethod;
})(jQuery);
delete yourMethod
jQuery.yourMethod = function() {
/* do something */
}
这两个选项并不完全相同;第一个选项将覆盖任何现有的yourMethod函数,而后者将没有标准插件格式的良好“隐私性”。根据你编写此插件的目的,这些问题可能重要也可能不重要。
如果这些问题对你来说不重要,重新设计你的代码可能是使JSDoc可解析的可行方法。如果不行...祝你好运找到足够成熟的JSDoc工具(或编写自己的工具):-)
我是这样使用doxygen的:
/** @cond */
jQuery(function($){
$.fn.TestFunction = function(){ testvar="test1";test("test2");alert(testvar); }
/** @endcond */
/** DoSth Function */
function test(testvar)
{
alert(testvar);
var testvar="test3";
alert(testvar);
}
/** @cond */
delete test;
});
/** @endcond */
我使用Visual Studio XML注释:http://weblogs.asp.net/bleroy/archive/2007/04/23/the-format-for-javascript-doc-comments.aspx