我有一个由几个文件夹组成的
Nodejs
项目。每个文件夹都旨在成为类的类 java 包。
src
folderA
A.js
...
folderB
B.js
...
...
每个类
A, B, ...
被导出为default export
,如:
/**
* A class
*/
export default class A {
constructor() {
...
}
...
}
但是,当我运行
jsDoc
时,我得到一些 module.exports.html
页面,其中包含单个 html
页面中的所有类的文档,而我当然想要一个反映我的项目结构的文档。
从here阅读似乎唯一的方法就是创建我的自定义模板,这是我不想做的事情。在我看来,
jsDoc
不太可能不支持 ES6
项目的文档,因为 jsDoc
支持 ES6
类。
我的项目结构有问题吗?由
ES6
类组成的项目应该如何构建?有没有办法通过jsDoc
将项目结构反映到文档中?我可以使用其他工具代替jsDoc
吗?
根据here的建议,我最终通过从每个类导出中删除
default
关键字来结束,如:
/**
* A class
*/
export class A {
constructor() {
...
}
...
}
并为每个文件夹创建一个
index.js
文件。假设文件夹定义了一个包含类myPackage
和A0
的包A1
,那么index.js
文件的内容就变成了
import {A0} from './A0.js';
import {A1} from './A1.js';
/**
* This package contains the classes:
*
* <ul>
* <li>{@link A0}</li>
* <li>{@link A1}</li>
* </ul>
*
* Its purpose is ...
*
* @module myPackage
*/
export default {A0, A1}
因此,jsDoc 生成一个主页:
对于每个包,相应的注释仅链接属于包本身的类,因此,相应的 HTML 页面既可以作为包用途的概述,也可以作为链接包类的索引。
也许,这样使用
index.js
文件作为文件夹的概述/索引是显而易见的,但是,没有人回答我的问题,因此,我希望我的回答对其他人有用。