【发布时间】:2018-12-06 04:44:24
【问题描述】:
项目信息
我正在开发一个使用 .d.ts 文件的 JavaScript 项目。这是我之前提出的问题的后续问题,因此您可以查看有关该项目的更多信息here。
问题
虽然我通常可以从类型文件中提取函数,但我无法提取为空或纯粹由接口组成的接口或命名空间。我通过为每个接口创建一个const 实现并在cmets 中使用@typeof ConstantImplementation 暂时解决了这个问题。请参阅下面的示例:
// Typings File
export namespace test {
export interface ITest {
foo: string;
bar: number;
}
export const Test: ITest;
}
// JS File
if (undefined) var {Test: ITest} = require("globals.d.ts").test;
// Above line shows `unused var error`
/* @type {typeof ITest} */
var x = {};
x.foo = "hello";
x.bar = 3;
// if I do `x.` intellisense should suggest `foo` and `bar`
我想知道是否有更好的方法来解决这个问题,最好是不会引发错误的方法(使用 eslint ignore line 不是解决方法)。
澄清
这个问题不是关于从类型文件中获取功能。这纯粹是为了让 VSCode 智能感知与类型接口一起工作。这是一张图片来解释我想要什么(圆圈内的两条线):
【问题讨论】:
标签: javascript interface visual-studio-code intellisense .d.ts