使用"node ."运行时未定义快速端口



我一直在遵循这里的教程,直到我必须运行服务器的部分,它都很好:https://www.digitalocean.com/community/tutorials/setting-up-a-node-project-with-typescript

如果我尝试运行下面的代码,我会得到server is listening on undefined

const app = express();
const port = 8080;
app.get("/", (req, res) => {
res.send("Hello");
})
app.listen((port, err) => {
if (err) {
return console.error(err);
}
return console.log(`server is listening on ${port}`);
});

我甚至尝试使用app.set('port', port);预先设置端口

const app = express();
const port = 8080;
app.set('port', port);
app.get("/", (req, res) => {
res.send("Hello");
})
app.listen((port, err) => {
if (err) {
return console.error(err);
}
return console.log(`server is listening on ${port}`);
});

但同样的事情也会发生。

app.listen接受两个参数,第一个是端口,第二个是回调。将其更改为以下代码。

app.listen(port, (err) => {
if (err) {
return console.error(err);
}
return console.log(`server is listening on ${port}`);
});

这是教程中的一个示例。他忽略了从(err) => {}err => {}的函数中的(),两者都起作用。

app.listen(port, err => {
if (err) {
return console.error(err);
}
return console.log(`server is listening on ${port}`);
});
app.listen(port, (err) => {
if (err) {
return console.error(err);
}
return console.log(`server is listening on ${port}`);
});

这是错误的,因为CCD_;错误";。它的回调不接受任何参数。如果您使用的是typescript,您会收到警告。如果app.listen()出现错误,它将不会运行,客户端将出现404错误。它就是这样的:

app.listen(port,()=>{
console.log(`server is listening on ${port}`)})

用以下代码更改它,第一个参数将是端口

app.listen(port, err) => {
if (err)return console.error(err);
return console.log(`server is listening on ${port}`);
});

最新更新