我如何记录 NodeJS 原生 (V8) 模块?

Joz*_*ény 5 javascript documentation v8 node.js

我开发了一个本地 NodeJS 模块(使用 NAN 助手)。现在我想知道记录它的最佳方式是什么。

模块导出的方法仅存在于 C++ 源代码中,但我希望导出 Javascript 文档。

Joz*_*ény 0

最后我选择了一个不太优雅的解决方案。我创建了一个单独的 JavaScript 文件,其中仅包含由我的本机 API 导出的方法。

该文件如下所示:

/** @namespace AwesomeLibrary
 * 
 * @description API overview
 */

AwesomeLibrary = {
  /**
   * @param {string} param Input parameter
   * @return combobulates {@link param}
   */
  combobulate: function (param) {}  
}
Run Code Online (Sandbox Code Playgroud)

然后,我使用 JsDoc 生成项目的文档,并将此 JavaScript 文件作为输入而不是我的本机代码传递。最后,我将文档与模块的二进制发行版捆绑在一起。

该解决方案并不理想,因为文档和源代码必须单独维护,但它具有零开销和(相当)干净的文件的优点。我还禁用了 JsDoc 中的源代码生成,因为这显然毫无用处,并且只显示空存根。