我正在VSCode中编写JavaScript (ES6)代码,并启用了VSCode文档中解释的VSCode的类型检查。
当引用在另一个文件中定义的类型时(下面的示例中是Track
),我会得到一个错误,比如js在JSDoc引用中找不到名称“Track”,除非我导入它。当我导入这个类型时,我从eslint中得到一个错误:eslint 'Track‘是定义的,但从未使用过。(没有未使用的-瓦尔斯)
我不想禁用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) : [];
}
...
发布于 2021-11-12 13:02:41
您可以使用import("%YOUR_LIB%").%TYPE%
export default class TrackList {
/**
* Creates a new track list.
* @param {Iterable<import("./Track").Track>} tracks the tracks to include
*/
constructor(tracks) {
this._tracks = tracks ? Array.from(tracks) : [];
}
...
发布于 2018-01-26 03:39:03
我也有类似的问题,我就是这样解决的。
//file.d.ts
export interface Foo {
bar: number;
}
export as namespace Baz;
这样做将使Baz
命名空间具有全局性,这样您就可以在任何地方使用它,而无需导入
/**
* @param {Baz.Foo} arg
*/
function test(arg) {
}
现在,您可以在VSCode中获得intellisense和类型检查。
https://stackoverflow.com/questions/47977122
复制相似问题