Express Generator 忽略端口设置

Sea*_*ysa 2 node.js express

我正在使用以下代码将端口设置为 3004 在快速生成器应用程序中,就在上面 module.exports = app;

// app.js
const PORT = 3004;
app.set('port', PORT);
app.listen(PORT, () => {
    console.log(`app listening on port ${PORT}`);
});
Run Code Online (Sandbox Code Playgroud)

我尝试使用基于另一个主题的 app.set:Node.js/Express.js App Only Works on Port 3000

app.listen在官方文档中建议。

它们不会一起工作或单独工作。运行npm start恢复到端口 3000,在我的情况下这会导致应用程序崩溃,因为我将该端口用于另一个应用程序(也基于快速生成器)。

从头开始使用我自己的 Express 应用程序时,我没有这个问题。因此,我相信 express 生成器将端口配置隐藏在别处并覆盖了我的设置。

有谁知道在哪里设置端口或禁用覆盖设置?

"express": "~4.16.0"
Run Code Online (Sandbox Code Playgroud)

Sak*_*oBu 9

当您使用生成器时,您会得到一个 bin 文件夹 在 www 的 bin 文件夹中,端口设置如下:

var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
Run Code Online (Sandbox Code Playgroud)

这是你可以改变它的地方......