生成Javascript文档

我正在寻找一种方法来从我的Javascript项目自动生成文档 。 任何人都知道我该怎么做?

据我所知,有一些像JSDoc的工具,但我想知道你的意见,你最好的select,为什么。

谢谢!

编辑:只是要清楚,我需要像JavaDOC或PHPDocumentor,但使用我的Javascript源代码。

有像自然文件这样的工具。 我曾经亲自使用它,这与JavaScript正常工作。

还有像docco这样的工具来logging源代码。

一般来说,自动生成的文档往往过于严格,有时手工制作的API(如jQuery API)更易于使用。

dynamic语言的文档也不同于静态语言的文档。 由于API的使用方式不同,状态的存在更为宽松。

我find了一个很好的教程来使用JSDoc创buildJS文档。 我希望这对有需要的人有帮助。

用JSDoc创build有用的相关Javascript文档

这正是我所需要的。 感谢您的答案堆垛机。

如果你使用node.js,我创build了一个为javascript / node / html / css生成类图的模块。 它基于UML的“WAE”扩展。 它被称为wavi。 对于JavaScript,函数,variables和其他模块的使用都被自动识别。 您可以使用它来logging您的应用程序。

https://www.npmjs.org/package/wavi

由wavi生成的图表

SmartComments + YUIDocs

使用这对不寻常的情侣,你可以在一分钟内logging一个大型的JavaScript项目。

SmartComments,它是一个允许你从JavaScript源代码创build隐式注释的工具。

您可以在控制台中或通过Sublime Text Plugin使用。

请访问http://smartcomments.github.io了解更多信息。;

autodoc是涂料; https://www.npmjs.org/package/autodoc | https://github.com/dtao/autodoc

Autodoc允许您在JavaScript函数上方的注释中编写testing,然后从命令行运行这些testing,并使用embedded的相同testing自动生成文档,并在浏览器中正确执行。

思考文学编程,看看http://danieltao.com/lazy.js/docs/一个很好的例子。; 那些绿色的选中标记是testing。

 ✓ Lazy([1, 2, 4]) // instanceof Lazy.ArrayLikeSequence ✓ Lazy({ foo: "bar" }) // instanceof Lazy.ObjectLikeSequence ✓ Lazy("hello, world!") // instanceof Lazy.StringLikeSequence ✓ Lazy() // sequence: [] ✓ Lazy(null) // sequence: [] 

这是什么来源看起来像github.com/../lazy.js#L86

 /** * Wraps an object and returns a {@link Sequence}. For `null` or `undefined`, * simply returns an empty sequence (see {@link Lazy.strict} for a stricter * implementation). * * - For **arrays**, Lazy will create a sequence comprising the elements in * the array (an {@link ArrayLikeSequence}). * - For **objects**, Lazy will create a sequence of key/value pairs * (an {@link ObjectLikeSequence}). * - For **strings**, Lazy will create a sequence of characters (a * {@link StringLikeSequence}). * * @public * @param {Array|Object|string} source An array, object, or string to wrap. * @returns {Sequence} The wrapped lazy object. * * * @examples * Lazy([1, 2, 4]) // instanceof Lazy.ArrayLikeSequence * Lazy({ foo: "bar" }) // instanceof Lazy.ObjectLikeSequence * Lazy("hello, world!") // instanceof Lazy.StringLikeSequence * Lazy() // sequence: [] * Lazy(null) // sequence: [] */ 

它扩展了JSDoc https://developers.google.com/closure/compiler/docs/js-for-compiler ,所以你可以让Google的闭包编译器为你validation和优化很多东西。

你使用哪个框架? (如果有的话)。 我认为你select的工具很大程度上取决于它,因为理想的情况是它必须理解类扩展和全部。 否则,我认为jsDoc是一个很好的开始。

嗨,我刚刚findYUIDoc 。 我不太了解,但看起来不错