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

Where can I store JSDoc typedef information to share across projects?

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

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

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

/**
 * @typedef {Object} SomeType
 * @property {String} id
 */

2021 年更新

编辑 tsconfig.json 以便 includes 相对于您的项目的根目录并包括您的类型文件。例如:

{
    "compilerOptions": {
      // ...
    },
    "include": ["./my-types.js", "src/**/*.js"],
}

如果您没有将任何项目嵌套在 src/ 之类的文件夹下,那么它可以独立运行:

{
    "compilerOptions": {
      // ...
    },
    "include": ["**/*.js"],
}

原答案

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

///<reference path="path/to/shared-file.js" />

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