You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为猴子补丁函数添加JSDoc以启用VS Code智能提示?

如何为猴子补丁添加的JavaScript函数编写JSDoc,让VS Code智能提示正确识别

问题场景

通过猴子补丁给moment库新增了moo方法,在补丁文件lib/newmoment.js中也写了对应的JSDoc注释,但在test.js里调用moment().moo()时,VS Code的IntelliSense只能识别该方法为any类型,无法显示提前写好的注释信息。

可行解决方法

自定义命名空间扩展moment的原有类型,再给导入的moment变量指定这个扩展后的类型,就能让智能提示正确识别新增方法的JSDoc。

代码示例

补丁文件:lib/newmoment.js

/**
 * 扩展moment的类型,添加自定义方法的类型定义
 * @namespace NewMoment
 * @extends moment
 */

/**
 * 自定义的moo方法,返回测试字符串
 * @returns {string} 固定的测试文本
 */
moment.fn.moo = function() {
  return "moo from monkey patch";
};

module.exports = moment;

调用文件:test.js

/** @type {import('./lib/newmoment').NewMoment} */
const moment = require('./lib/newmoment');

// 此时调用moment().moo(),VS Code会正确显示该方法的JSDoc注释
moment().moo();

内容的提问来源于stack exchange,提问作者FDEV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 02:34:55