如果我创建一些Express.js中间件,如何让我的编辑器(VSCode)提供打字稿提示,就像我直接引用该库一样?
例如,我可以在@param
部分中放置什么以获取Express.js提示?
file.js
const express = require('express');
const app = express();
/**
*
* @param {Express.Request} req
* @param {Express.Response} res
*/
function myMiddleware(req, res, next) {
if (true) {
res.json(true); // ** when I hover over `json` no hints are shown **
} else {
next();
}
}
app.use(myMiddleware);
例如,我想将鼠标悬停在res
上,并查看其包含的方法/属性。
答案 0 :(得分:0)
函数的自变量文档
您的问题实际上是“如何获取TypeScript以使用JSDoc type 批注”,例如您希望选择以下类型:
/**
* @param {Express.Request} req
* @param {Express.Response} res
*/
function myMiddleware(req, res) { ... }
使用.js
文件扩展名(不为ts文件选择jsdoc中的类型注释),并在tsconfig中使用allowJs: true
。
答案 1 :(得分:0)
import {Request, Response} from 'express';
/**
* My middleware
* @param {Request} req Express Request...
* @param {Response} res Express Response...
*/
function middleware(req : Request, res : Response){
res.send('Hello!'); //You will get hints when using the parameters
}
middleware(req /* You will get hints when passing the parameters */, res);