1.0.1 • Published 4 months ago
rollup-plugin-markdown-jsdoc v1.0.1
rollup-plugin-markdown-jsdoc
基于 JSDoc 注释自动生成 Markdown 格式 API 文档的 Rollup 插件,支持函数/对象的多维度文档生成,完美适配现代前端工程化流程
✨ 功能特性
- 智能注释解析
通过 @README 标记自动识别文档块,支持:- 参数类型声明 @param {type}
- 返回值说明 @return {type}
- 代码示例嵌入 @example
- 自定义名称描述 @name
- 零配置开箱即用
默认自动扫描 .js 文件,排除 node_modules 目录,输出标准化文档结构 - 灵活过滤机制
// 支持正则表达式和字符串匹配 include: ['src'], exclude: ['node_modules']
- 工程化深度集成
在 Rollup 构建流程的 transform 阶段解析代码,writeBundle 阶段生成最终文档
配置示例
配置参数
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
outputPath | string | ./dist/api-docs.md | 文档输出路径 |
exclude | Array<string/RegExp> | ['node_modules'] | 排除目录/文件的正则匹配规则 |
include | Array<string/RegExp> | [] | 包含目录/文件的正则匹配规则 |
配置示例
// rollup.config.js
import markdownJsdoc from 'rollup-plugin-markdown-jsdoc';
export default {
plugins: [
markdownJsdoc({
outputPath: './dist/api-docs.md',
include: ['src'],
exclude: ['node_modules']
})
]
}
🧩 使用方法
代码注释规范
// index.js
/**
* @README
* @name fetchData 核心数据获取方法
* @param {string} url API地址
* @param {Object} config 请求配置
* @return {Promise} 携带数据的Promise对象
* @example fetchData('/api/user', { timeout: 5000 })
*/
export function fetchData(url, config) {
// ...实现代码
}
输出文档示例
## fetchData
核心数据获取方法
### 参数列表
| 参数名 | 类型 | 描述 |
|--------|---------|------------|
| url | `string` | API地址 |
| config | `Object` | 请求配置 |
### 返回值
- 类型:`Promise`
- 描述:携带数据的Promise对象
### 代码示例
```javascript
fetchData('/api/user', { timeout: 5000 })