我在网上搜索了这个问题,甚至查看了 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 文件导出类型。可以吗?