家伙。
我正在尝试在d.ts文件中声明自定义类型,并在javascript文件中的jsdoc注释中使用它以在VS Code中具有智能感知。
示例如下:
文件类型.d .ts
import { Request } from "express";
declare interface IRouter {
request: Request,
someProp: string
....
}
当我试图在@type中使用它时,intellisense不起作用。
例如,Sommephilis
/// <reference path="types.d.ts"/>
/**
* @type {IRouter}
*/
let customRouter;
因此,当我使用变量“customRouter”时,VSCode不提供有关可能属性的智能感知。但是,如果我将从d.ts文件中删除导入 - 那么一切正常。
在这种情况下会出现什么问题?
先感谢您。
添加import
使您的d.ts
文件成为一个模块,您将无法再获取像IRounter
这样的环境类型。
为了解决这个问题,要么:
import { IRouter } from "./types";
/**
* @type {IRouter}
*/
let customRouter;
d.ts
中使用declare global:
import { Request } from "express";
declare global {
export interface IRouter {
request: Request,
someProp: string;
}
}