JavaScript文档生成工具
作者:realazy 来源:realazy 时间:2007-10-26 11:59:00
如果你看过YUI的RAW源码,会发现很多跟javadoc语法类似的注释。据说(via)是使用JSDoc这个工具。但我探索了一遍,发现YUI多出很多tag, 比如@namespace, @static之类,那么我只好怀疑YUI做了改良。一开始,我也试着使用了一下JSDoc,遗憾的是,除了缺少一些tag外,它还不支持未匿名函数内的文档生成。比如,有时候为了保证不产生额外的全局变量会这么写:
(function(){
/**
* 注释
* @tag
*/
....
})();
或者我所喜欢的”module pattern“:
var module = function(){
var private;
return {
/**
* 注释
* @tag
*/
pub1: function(){},
pub2: function(){},
...
}
}();
在这种情况下,在匿名函数内,和在return区块内的注释,JSDoc就,用北京话说,“葛屁”(音)了,就是不起作用了。遗憾的是我的水平尚未上升到改良perl脚本以能按我所需的程度,因此,我寻找的是下一个目标。
JsDoc Toolkit是一个不错的选择,虽然名称跟JSDoc不太容易区分。相比之下,它是使用JavaScript来处理文档的(当然,得通过rhino),而且支持我前面所列举的两种形式(单是这点,我就只能选择它了)。
两者在tag的处理方面有所不同,感觉JSDoc的全面一些,但缺乏某些关键的tag,比如JsDoc Toolkit中的@scope就很好用。
至于如何安装使用,直接上官网看吧 。欢迎同我交流。
粗粗看了一下jQuery,似乎它也是通过rhino来处理文档生成的,嗯,我也得钻研一下,hack出符合我要求的工具了。
标签:JavaScript,工具
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
如何建设一个多语言版的ASP网站?
2009-11-26 20:36:00
通过定位控制信息列表下往上的增加
2008-06-30 14:27:00
解决IE中长按钮的显示问题
2008-06-24 12:06:00
![](https://img.aspxhome.com/file/UploadPic/20086/24/2008624121943656s.jpg)
深入认识javascript中的eval函数
2008-08-03 16:44:00
七十六个网站用户体验要点
2010-08-11 14:52:00
原创一个js对联广告类(兼容FireFox)
2008-08-01 18:08:00
你需要知道的CSS3 动画技术[译]
2009-12-30 17:02:00
![](https://img.aspxhome.com/file/UploadPic/20101/11/transform_rotate-78s.png)
ASP使用fso遍历文件及文件夹列出文件名
2008-10-27 19:32:00
asp读取数据库中数据到数组的类
2007-09-16 18:19:00
Web 2.0 框架发布
2008-03-25 09:40:00
![](https://img.aspxhome.com/file/UploadPic/20083/25/200832595359766s.jpg)
SQL SQL Server 2008中的新日期数据类型
2009-03-10 15:01:00
形象化的reflow
2008-06-08 13:33:00
![](https://img.aspxhome.com/file/UploadPic/20086/8/ThumbnailServer2_51s.jpg)
如何提升JavaScript的运行速度(DOM篇)
2010-05-17 13:32:00
在SQL server2005数据库下创建计划任务
2008-12-26 09:19:00
![](https://img.aspxhome.com/file/UploadPic/200812/20081231122259529.jpg)
Javascript 利用 DOM 特性的两个小技巧
2009-02-28 14:07:00
word-wrap同word-break的区别
2007-10-24 20:08:00
根据Dreamweaver里的ToolTip代码改进的提示框
2008-11-27 12:19:00
用玩票的心态瞎猜豆瓣的思路
2008-08-18 21:14:00
简单获取键盘的KeyCode
2008-04-18 12:37:00
用ASP在线创建Word与Excel文档
2008-07-20 19:17:00