jsDoc 或任何其他工具的 ES6 项目文档

问题描述 投票:0回答:1

我有一个由几个文件夹组成的

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
吗?

javascript node.js node-modules jsdoc
1个回答
0
投票

根据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
文件作为文件夹的概述/索引是显而易见的,但是,没有人回答我的问题,因此,我希望我的回答对其他人有用。

© www.soinside.com 2019 - 2024. All rights reserved.