5

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

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

我知道 JSDoc 是基于 java 的,但我希望完全从等式中删除 Java。有没有办法使用现有的 grunt 插件或仅在 Node 中运行该进程的另一个插件?

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

4

3 回答 3

5

当前的 grunt jsdoc 插件无法做到这一点。问题当然在于底层的 jsdoc 实用程序。您可以在此处跟踪他们支持 node.js 而不是 Rhino 的进度:

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

但是,有几个关于您看到的错误的注释。

  • 至少在 Linux 上,只要java在路径中,您就可以放心地忽略该错误,它仍然会生成。
  • 有关 JAVA_HOME 和 grunt-jsdoc-plugin 的其他讨论,请参阅此问题
于 2013-08-05T16:32:06.180 回答
4

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

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

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

npm install jsdoc@"<=3.3.0"
于 2014-02-17T14:25:43.800 回答
0

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

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

于 2014-11-09T11:42:13.683 回答