如何提取用于函数参数文档的打字稿提示

时间:2018-08-03 01:26:13

标签: node.js typescript express visual-studio-code

如果我创建一些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上,并查看其包含的方法/属性。

2 个答案:

答案 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);