没有Java的JSDoc?

我正在尝试将J SDoc合并到我的Grunt部署过程中。 当我运行它,我得到以下错误(预期):

>> JAVA_HOME is not set. Jsdoc requires Java to run. Fatal error: Bad argument 

我知道JSDoc是基于Java的,但我希望完全从等式中删除Java。 有没有办法做到这一点与现有的grunt插件,或者另一个只在Node中运行的过程?

我不想只为一个任务添加Java。 这是一个傻瓜的差事吗?

从目前的grunt jsdoc插件没有办法做到这一点。 当然,问题在于底层的jsdoc工具。 您可以在这里跟踪支持node.js而不是Rhino的进度:

https://github.com/jsdoc3/jsdoc/issues/93

然而,有几个关于你所看到的错误的笔记。

  • 至less在Linux上,只要java在path中,你可以放心地忽略这个错误,它仍然会产生。
  • 看到这个问题关于JAVA_HOME和grunt-jsdoc-plugin的其他讨论

JSDoc 3.3.0中已经删除了Mozilla Rhino所需的对Java的JSDoc依赖。 JSDoc GitHub页面指出:

JSDoc 3.3.0及更高版本提供对Node.js的本机支持。 JSDoc支持Node.js 0.10和更高版本。

JSDoc v3.3.0仍处于alpha版本状态(2014年1月26日发布3.3.0-alpha4),所以安装最新的alpha版本使用:

 npm install jsdoc@"<=3.3.0" 

我遇到了同样的问题,并构build了一个包装JSDoc 3.3(不需要Java,所有在Node中运行)的Grunt插件:

https://github.com/usrz/javascript-grunt-jsdoc-ng