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

JSDoc导入TypeScript命名空间VSCode无法识别,求批量导入方案

解决VSCode无法识别JSDoc类型命名空间的问题

方案1:在类型文件中导出命名空间

首先修改你的types.d.ts,将类型包裹在命名空间内并导出:

// types.d.ts
export namespace Types {
  export type K = { id: string };
  // 在这里添加其他需要的类型
}

然后在test.js中通过JSDoc导入整个命名空间:

// test.js
/**
 * @typedef {import('./path/to/types').Types} Types
 * @param {Types.K} props
 */
const testFunction = (props) => console.log(props.id);

方案2:导出独立类型并批量导入

如果不想在类型文件中使用命名空间,可以直接导出所有类型,再通过JSDoc批量导入:

// types.d.ts
export type K = { id: string };
export type L = { name: string };
// 其他类型...

在test.js中:

// test.js
/**
 * @typedef {import('./path/to/types')} Types
 * @param {Types.K} props
 */
const testFunction = (props) => console.log(props.id);

额外提示

  1. 确保import中的路径是test.js相对于types.d.ts的正确相对路径,无需添加.d.ts后缀。
  2. 在项目根目录创建jsconfig.json文件,帮助VSCode更好地识别项目结构和类型:
{
  "compilerOptions": {
    "module": "ESNext",
    "target": "ES6"
  },
  "include": ["**/*.js", "**/*.d.ts"]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 20:39:26