什么是 typedoc-plugin-folder-modules-extended
typedoc-plugin-folder-modules-extended 是一个 TypeScript 文档生成工具 typedoc 的扩展插件,用于解决 TypeScript 项目中平铺式文件风格的目录结构(flat file style)对文档生成的影响。该插件可以根据目录结构自动生成模块和导航栏。
如何使用 typedoc-plugin-folder-modules-extended
以下是 typedoc-plugin-folder-modules-extended 的安装及使用教程。首先确保你已经安装了 typedoc。如果没有,请先执行以下命令:
npm install --global typedoc
安装 typedoc-plugin-folder-modules-extended
npm install --save-dev typedoc-plugin-folder-modules-extended
使用 typedoc-plugin-folder-modules-extended
在项目根目录下,创建 typedoc.json 配置文件,并添加以下内容:
-- -------------------- ---- ------- - ------------- - ---------------- -- --------- --------- ---------- - ---------------------------------------- -- ---------- - --------------- ----------------- -- ----------------- ------ ----------- -------- ------------------- ----- --------------------- ----- ----------------- ----- ------- ------- ------ ------------ -
其中:
- inputFiles:输入文件,可以是单个文件或文件数组。但如果使用文件数组,则需要在数组中将 index 文件放在第一位。
- outdir:文档目录。
- plugins:插件数组。
- exclude:排除的文件/目录。
- disableSources:是否在文档中显示源码。
- includes:输入文件夹路径。
- excludeExternals:是否排除外部文档,如 node_modules。
- excludeNotExported:是否排除未导出的模块。
- excludePrivate:是否排除私有模块。
- mode:文档生成模式。
- out:文档输出路径。
完成以上配置后,在项目根目录下执行以下命令,即可生成文档:
typedoc
typedoc-plugin-folder-modules-extended 示例代码
假设有以下文件:
-- -------------------- ---- ------- ---- --- ---- - --- -------- - --- ----- - - --- -------- - --- ------ - --- -------- --- ---- --- -------- --- ----- - --- -------- - --- ------- --- ------- - --- -------- - --- ------ --- ------ --- -------- --- -------- --- --------
以下是生成的文档预览:
可以看到,typedoc-plugin-folder-modules-extended 插件将目录结构转换为了导航栏和模块,方便用户阅读和使用。
typedoc-plugin-folder-modules-extended 学习及指导意义
- 可以了解文档生成工具 typedoc 及其插件机制。
- 可以了解 TypeScript 项目中的目录结构如何影响文档生成。
- 可以了解如何使用 typedoc-plugin-folder-modules-extended 插件解决 TypeScript 项目中的文档生成问题。
- 可以通过示例代码及文档预览了解 typedoc-plugin-folder-modules-extended 插件的使用和效果。
- 可以应用 typedoc-plugin-folder-modules-extended 插件,提升 TypeScript 项目的文档价值和可读性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600562b081e8991b448dfed9