我正在寻找一种方法从我的Javascript项目自动生成文档。任何人都知道我该怎么做?
据我所知,有一些像JSDoc这样的工具,但我想知道你的意见,你最好的选择和原因。
谢谢!
编辑:为了清楚起见,我需要像JavaDOC或PHPDocumentor这样的东西,但要使用我的Javascript源代码。
答案 0 :(得分:14)
有Natural Docs这样的工具可以做到这一点。我个人过去曾经使用它,这适用于javascript。
还有像docco这样的工具来记录源代码。
通常,自动生成的文档往往限制性太强,有时像jQuery API这样的手工API更容易使用。
动态语言的文档与静态语言的文档不同。由于API的使用方式不同而且状态存在于更松散的意义上。
答案 1 :(得分:11)
我发现了一个使用JSDoc创建JS文档的好教程。我希望对需要它的人有所帮助。
Create useful relevant Javascript documentation with JSDoc
这正是我所需要的。谢谢你的答案堆叠器。
答案 2 :(得分:5)
如果你使用node.js,我创建了一个模块,为javascript / node / html / css生成类图。它基于" WAE" UML的扩展。它叫做wavi。对于javascript,自动识别其他模块的功能,变量和使用。您可以使用它来记录您的应用程序。
https://www.npmjs.org/package/wavi
答案 3 :(得分:4)
SmartComments + YUIDocs
使用这对非凡的情侣,您可以在不到一分钟的时间内记录大型JavaScript项目。
SmartComments,它是一个允许您从JavaScript源代码创建隐式注释的工具。
您可以在控制台中使用或通过Sublime Text Plugin使用。
请转至http://smartcomments.github.io了解详情。
答案 4 :(得分:3)
autodoc
是涂料; https://www.npmjs.org/package/autodoc | https://github.com/dtao/autodoc
Autodoc允许您在JavaScript函数上方的注释中编写测试,然后从命令行运行这些测试,并使用在浏览器中嵌入和执行的相同测试自动生成文档。
考虑有文化的编程,请查看http://danieltao.com/lazy.js/docs/以获得一个很好的例子。那些绿色的勾选标记是测试。
✓ 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的闭包编译器为你验证和优化很多东西。
答案 5 :(得分:-1)
您使用的是哪个框架? (如果有的话)。我认为你选择的工具在很大程度上依赖于它,因为理想情况下它必须理解类扩展和所有。 否则我认为jsDoc是一个很好的起点。
答案 6 :(得分:-1)
您好我刚刚找到YUIDoc。我不太了解它,但它看起来不错......