我一直在遵循这里的教程,直到我必须运行服务器的部分,它都很好: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}`);
});