【问题标题】:Typescript misidentifies express application typeTypescript 错误识别 express 应用程序类型
【发布时间】:2021-10-15 00:10:02
【问题描述】:

这是我第一次尝试使用打字稿设置节点,遵循教程。下面的代码会导致对 app.listen 函数的错误建议(见图)。

import express from 'express';

const app = express();

app.listen(3000)

第一个参数应该是一个端口。虽然我仍在输入函数名称,但这反映在建议中:

app 类型指定为express.Application 没有帮助。

我已经安装了@types/express@types/nodets-nodetypescript 作为开发依赖项。在tsconfig.js,我有以下设置:{ "target": "es6", "module": "commonjs", "moduleResolution": "node" }

【问题讨论】:

    标签: node.js typescript express


    【解决方案1】:

    listen() 方法有 6 个重载,如图所示。首先显示具有 1 个参数的重载,因为它是最短的。如果您在函数内输入数字和,,您将看到描述更改为您所期望的。

    重载定义如下:

    listen(port: number, hostname: string, backlog: number, callback?: () => void): http.Server;
    listen(port: number, hostname: string, callback?: () => void): http.Server;
    listen(port: number, callback?: () => void): http.Server;
    listen(callback?: () => void): http.Server;
    listen(path: string, callback?: () => void): http.Server;
    listen(handle: any, listeningListener?: () => void): http.Server;
    

    VSC 显示的提示尽可能接近您输入的内容。由于您没有提供任何参数,因此最接近的签名是只有回调的签名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-14
      • 2013-10-26
      • 1970-01-01
      • 2022-01-18
      • 2015-11-16
      • 1970-01-01
      • 2021-10-05
      • 1970-01-01
      相关资源
      最近更新 更多