在哪里可以存储 JSDoc typedef 信息以在项目之间共享?

d-_*_*_-b 3 node.js jsdoc typescript visual-studio-code

我将@typedefJSDoc 注释添加到 Javascript 文件的顶部以帮助定义类型(真的,这样我就可以利用 typescript 的一些好处,而无需今天全部学习)。

我在哪里可以存储 JSDoc typedef 信息以在 VSCode 中跨项目共享?

例如,我可以将它存储在某个外部文件中,然后在多个.js文件中使用它吗?

/**
 * @typedef {Object} SomeType
 * @property {String} id
 */
Run Code Online (Sandbox Code Playgroud)

Mat*_*hen 5

2021 更新

编辑tsconfig.jsonincludes是相对于您的项目的根目录,并包括您的类型文件。例如:

{
    "compilerOptions": {
      // ...
    },
    "include": ["./my-types.js", "src/**/*.js"],
}
Run Code Online (Sandbox Code Playgroud)

如果您没有将任何项目嵌套在像 的文件夹下src/,那么这将单独起作用:

{
    "compilerOptions": {
      // ...
    },
    "include": ["**/*.js"],
}
Run Code Online (Sandbox Code Playgroud)

原答案

您可以将该代码片段放在一个.js文件中,然后将其添加到filesinclude每个tsconfig.json文件中或使用引用指令:

///<reference path="path/to/shared-file.js" />
Run Code Online (Sandbox Code Playgroud)

(这与 TypeScript 声明文件的两个选项相同。)如果您的共享文件是 ES6 模块(具有顶级 ES6 导入或导出),则它会变得更复杂一些;那么您需要导入它或使用导入类型