我正在尝试使用 allowJs
和 checkJs
在 JS 代码库上设置 TypeScript
I have a JSDoc that uses an interface as a parameter type :
* @param {IPlugin[]|IPlugin} plugins plugin instance(s).
In the same file ,我有通过 JSDoc 定义的接口(interface):
/**
* Plugin extension hooks.
* @interface IPlugin
* @since 2.1.0
*/
This looks like valid JSDoc to me .然而,TypeScript 在这方面失败了:
src/core/core.plugins.js:243:13 - error TS2304: Cannot find name 'IPlugin'.
243 * @param {IPlugin[]|IPlugin} plugins plugin instance(s).
有什么想法可以让它发挥作用吗?
最佳答案
Typescript 不支持
@interface
:https://www.typescriptlang.org/docs/handbook/type-checking-javascript-files.html#supported-jsdoc
建议改用d.ts
文件:https://github.com/microsoft/TypeScript/issues/33207#issuecomment-527680208
也许还可以使用 @typedef
破解它:https://github.com/AlCalzone/ioBroker.js-controller/blob/9fbbb890290b07af5d9dfb7ae90bf92f2d0be178/lib/tools.js#L1329
关于typescript - 在 Typescript 中使用 JSDoc 中定义的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60023071/