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

如何用JSDOC的@deprecated标记第三方模块导入的符号为弃用?

标记第三方模块导入符号为弃用的几种方法

1. 封装带弃用警告的函数

自己封装原函数,调用时输出警告提示:

import { foo as originalFoo } from 'bar';

/**
 * @deprecated 该API已弃用,请使用替代方案
 */
export function foo(...args) {
  console.warn('警告:foo函数已弃用,请勿继续使用');
  return originalFoo(...args);
}

// 后续代码使用这个封装后的foo
foo();

2. 用ESLint在开发阶段限制导入

配置ESLint的no-restricted-imports规则,直接阻止导入并给出提示:

{
  "rules": {
    "no-restricted-imports": [
      "error",
      {
        "paths": [
          {
            "name": "bar",
            "importNames": ["foo"],
            "message": "foo已弃用,请使用其他替代API"
          }
        ]
      }
    ]
  }
}

3. TypeScript项目通过类型声明添加弃用标记

创建类型声明文件覆盖原模块类型,让IDE直接显示弃用提示:

// bar.d.ts
declare module 'bar' {
  /**
   * @deprecated 该函数已弃用
   */
  export function foo(...args: Parameters<typeof import('bar').foo>): ReturnType<typeof import('bar').foo>;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 11:54:57