Javascript 如何在vscode的外部文件中获取express中间件的intellisense?

Javascript 如何在vscode的外部文件中获取express中间件的intellisense?,javascript,node.js,express,visual-studio-code,intellisense,Javascript,Node.js,Express,Visual Studio Code,Intellisense,我想写一个express的中间件。我把它写在一个文件test2.js中 在服务器中,我可以使用intellisense,如: 在这个文件中,中间件工作正常,但我不能有req和res的智能感知 有没有办法获得智能感知? 这是我的服务器test1.js: //test1.js 让http=require(“http”); 让明示=要求(“明示”); 设app=express(); let middle=require(“./test2.js”); 应用程序使用(中); 应用程序使用(功能(请求

我想写一个express的中间件。我把它写在一个文件test2.js中

在服务器中,我可以使用intellisense,如:

在这个文件中,中间件工作正常,但我不能有req和res的智能感知

有没有办法获得智能感知?


这是我的服务器test1.js

//test1.js
让http=require(“http”);
让明示=要求(“明示”);
设app=express();
let middle=require(“./test2.js”);
应用程序使用(中);
应用程序使用(功能(请求、恢复、下一步){
next();
});
http.createServer(app.listen)(80)也许JSDoc是一个选项?
您可能需要安装类型定义:
npmi@types/express-D
(“VS代码中的“自动类型获取”可能会也可能不会为您的计算机自动执行此操作)


您还可以使用自己的typescript声明文件: myTypes.d.ts

import Express from "express";
declare global { 
    type RequestHandler = Express.RequestHandler;
}
类型通常绑定到模块的作用域,但是您可以导入任何类型并在全局作用域中重新声明它

现在,vscode查找没有“dirty”的类型
{import(“express”)}

myMiddleware.js

/** @type RequestHandler */
module.exports = function (req, res, next) {
    req. // intellisense works
}

感谢您的回答ippi,该方法使用typescript声明文件工作。非常感谢你!谢谢,Typescript声明文件可以工作,但是我注意到它只在编辑器中打开
myTypes.d.ts
文件时工作,也许它只适合我,但必须执行
/
才能让intellisense工作。
/** @type RequestHandler */
module.exports = function (req, res, next) {
    req. // intellisense works
}