我正在将我的Express服务器迁移到Typescript。 参见下面的最小示例。
我的问题是要分配给错误处理程序handleServerErrors
的参数的类型。
如果我将其定义为Error
,则tsc会抱怨error.code
不是Error的一部分。因此,我继续使用any
。
似乎tsc正在采用Error的js定义,而不是nodejs的定义。
是的,我已经安装了@types/node
import express = require("express");
const handleServerErrors = (error: any) => {
if(error.code === "EADDRINUSE") {
console.log("\nServer already running.\n");
}
else {
console.error(error);
throw error;
}
};
const app = express();
app
.listen(4400, () => console.log("Running")
.once("error", handleServerErrors);
答案 0 :(得分:0)
将第三行更改为:
const handleServerErrors = (error: NodeJS.ErrnoException) => {
不太明显。