gpt4 book ai didi

javascript - 引用在 JSDoc 中输入不同的文件而不导入

转载 作者:数据小太阳 更新时间:2023-10-29 03:54:45 24 4
gpt4 key购买 nike

我在 Visual Studio Code 中编写 JavaScript (ES6) 代码并启用了 VSCode 的类型检查,如 VSCode docs 中所述.

当引用在另一个文件中定义的类型时(下例中的 Track),我收到类似 [js] Cannot find name 'Track' 的错误在对该类型的 JSDoc 引用中,除非我导入它。当我导入这种类型时,我从 ESLint 收到一个错误:[eslint] 'Track' is defined but never used。 (没有未使用的变量)

我不想禁用 ESLint 规则。有没有办法导入类型以在 VSCode 中进行类型检查?

import Track from "./Track";

export default class TrackList {

/**
* Creates a new track list.
* @param {Iterable<Track>} tracks the tracks to include
*/
constructor(tracks) {
this._tracks = tracks ? Array.from(tracks) : [];
}
...

最佳答案

我遇到了类似的问题,我是这样解决的。

//file.d.ts
export interface Foo {
bar: number;
}

export as namespace Baz;

这样做将使 Baz 命名空间成为全局命名空间,因此您可以在任何地方使用它而无需导入

/**
* @param {Baz.Foo} arg
*/
function test(arg) {

}

现在您可以在 VSCode 中进行智能感知和类型检查。
VS Code

关于javascript - 引用在 JSDoc 中输入不同的文件而不导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47977122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com