如何导出将发布到 npm 的 JavaScript 库的 JSDoc 类型

问题描述 投票:0回答:1

我在网上搜索了这个问题,甚至查看了 GitHub 上的 TypeScript 问题(5k+ 问题),但似乎找到了解决方法;示例;

// my-module/tsconfig.json
{
  "compilerOptions": {
    "noEmit": true,
    "moduleResolution": "Node",
    "esModuleInterop": true,
    "target": "ESNext",

    "allowJs": true,
    "checkJs": true
  },
  "include": ["index.js"]
}
// my-module/index.js

/** @typedef {{ name: string, surname: string, age: number }} User */
/**
 *
 * @param {string} name
 * @param {string} surname
 * @param {number} age
 * @returns {User}
 */
const NewUser = (name, surname, age) => {
  return { name, surname, age };
};
export default NewUser;
// app.js

import NewUser from "my-module"
Could not find a declaration file for module 'my-module', 'node_modules/my-module/index.js' implicitly has an 'any' type.ts(7016)

如果我运行 TypeScript 编译器并生成确实有效的 d.ts 文件,但我不希望编译器步骤和到处都是不必要的文件,我想使用 JSDoc 直接从 JS 文件导出类型。可以吗?

typescript jsdoc
1个回答
0
投票

您必须发出声明(.d.ts)文件。运行

tsc --declaration --outDir dist --noEmit false
。您可以阅读更多相关信息这里

© www.soinside.com 2019 - 2024. All rights reserved.