面试题答案
一键面试JSDoc 定制化步骤及原理
- 安装 JSDoc:
- 在项目根目录下运行
npm install --save-dev jsdoc
,将 JSDoc 安装为项目的开发依赖。
- 在项目根目录下运行
- 编写函数注释:
- 函数接口描述:使用
@param
描述参数,@returns
描述返回值。例如:
- 函数接口描述:使用
/**
* 计算两个数的和
* @param {number} a - 第一个数字
* @param {number} b - 第二个数字
* @returns {number} 两数之和
*/
function add(a, b) {
return a + b;
}
- **使用示例**:使用 `@example` 标签添加示例代码,如:
/**
* 计算两个数的和
* @param {number} a - 第一个数字
* @param {number} b - 第二个数字
* @returns {number} 两数之和
* @example
* const result = add(2, 3);
* console.log(result); // 输出: 5
*/
function add(a, b) {
return a + b;
}
- **性能考量**:可在注释中添加自定义标签,如 `@performance`,例如:
/**
* 计算两个数的和
* @param {number} a - 第一个数字
* @param {number} b - 第二个数字
* @returns {number} 两数之和
* @example
* const result = add(2, 3);
* console.log(result); // 输出: 5
* @performance 此函数时间复杂度为 O(1),因为只进行了一次加法操作
*/
function add(a, b) {
return a + b;
}
- **版本兼容性说明**:使用 `@since` 标签说明函数从哪个版本开始存在,如:
/**
* 计算两个数的和
* @param {number} a - 第一个数字
* @param {number} b - 第二个数字
* @returns {number} 两数之和
* @example
* const result = add(2, 3);
* console.log(result); // 输出: 5
* @performance 此函数时间复杂度为 O(1),因为只进行了一次加法操作
* @since 1.0.0
*/
function add(a, b) {
return a + b;
}
- 配置 JSDoc:
- 在项目根目录创建
jsdoc.json
文件,内容如下:
- 在项目根目录创建
{
"tags": {
"allowUnknownTags": true,
"dictionaries": ["jsdoc", "closure"]
},
"source": {
"include": ["src"],
"exclude": ["node_modules"]
},
"plugins": ["plugins/markdown"],
"templates": {
"cleverLinks": false,
"monospaceLinks": false
}
}
- `tags` 部分允许使用自定义标签;`source` 部分指定要生成文档的源文件目录;`plugins` 引入 markdown 插件,以便生成 markdown 格式文档;`templates` 部分可对生成文档样式相关进行配置。
4. 生成文档:
- 在 package.json
的 scripts
中添加 "docs": "jsdoc -c jsdoc.json"
。
- 运行 npm run docs
即可生成包含上述定制内容的文档。
Typedoc 定制化步骤及原理
- 安装 Typedoc:
- 在项目根目录运行
npm install --save-dev typedoc
。
- 在项目根目录运行
- 编写函数注释:
- 函数接口描述:Typedoc 基于 TypeScript 类型系统,在 JavaScript 中可结合 JSDoc 风格注释。例如:
/**
* 计算两个数的和
* @param a - 第一个数字
* @param b - 第二个数字
* @returns 两数之和
*/
function add(a, b) {
return a + b;
}
- **使用示例**:使用 `@example` 标签添加示例,同 JSDoc 类似:
/**
* 计算两个数的和
* @param a - 第一个数字
* @param b - 第二个数字
* @returns 两数之和
* @example
* const result = add(2, 3);
* console.log(result); // 输出: 5
*/
function add(a, b) {
return a + b;
}
- **性能考量**:添加自定义 markdown 注释块,如:
/**
* 计算两个数的和
* @param a - 第一个数字
* @param b - 第二个数字
* @returns 两数之和
* @example
* const result = add(2, 3);
* console.log(result); // 输出: 5
*
* **性能考量**:此函数时间复杂度为 O(1),因为只进行了一次加法操作
*/
function add(a, b) {
return a + b;
}
- **版本兼容性说明**:可在注释中添加相关说明,如:
/**
* 计算两个数的和
* @param a - 第一个数字
* @param b - 第二个数字
* @returns 两数之和
* @example
* const result = add(2, 3);
* console.log(result); // 输出: 5
*
* **性能考量**:此函数时间复杂度为 O(1),因为只进行了一次加法操作
*
* **版本兼容性**:从 1.0.0 版本开始可用
*/
function add(a, b) {
return a + b;
}
- 配置 Typedoc:
- 在项目根目录创建
typedoc.json
文件,内容如下:
- 在项目根目录创建
{
"entryPoints": ["src"],
"out": "docs",
"exclude": ["node_modules"],
"mode": "modules",
"theme": "default",
"plugin": ["typedoc-plugin-markdown"]
}
- `entryPoints` 指定源文件目录;`out` 指定输出目录;`exclude` 排除 `node_modules`;`mode` 设置文档生成模式;`theme` 设置主题;`plugin` 引入 markdown 插件。
4. 生成文档:
- 在 package.json
的 scripts
中添加 "docs": "typedoc --options typedoc.json"
。
- 运行 npm run docs
生成定制化文档。原理是 Typedoc 解析 JavaScript 代码及注释,结合配置和插件,按照指定规则生成文档。