如何在JSDoc注释中使用其他模块中的类

时间:2018-06-13 08:12:53

标签: class annotations visual-studio-code jsdoc checkjs

最好用一个例子解释:

一些-class.js

function SomeClass() { /* ... */ }

SomeClass.prototype.doSomething = function() { /* ... */ };

export function createSomeClass() {
    return new SomeClass();
}

index.js

import { createSomeClass } from './some-class';

/**
 * @param {SomeClass} someClass 
 */
function foo(someClass) {
    someClass.doSomething();
}

var someClass = createSomeClass();
someClass.doSomething();

此代码导致VSCodes TypeScript检查程序出错,并且不会为foo内的类提供代码完成:

enter image description here

另一种方法是导出类构造函数并将其导入index.js,这样可以完整地完成代码,但由于未使用的类导入而添加警告:

enter image description here

我也不喜欢这个解决方案,它将课程“泄漏”到外面,否则由于createSomeClass工厂而无需这样做。

是否有某种方法可以获得完整的注释&没有未使用的类导入的代码完成?

0 个答案:

没有答案