gpt4 book ai didi

node.js - 如何阻止nodemon在每次重新启动express应用程序时更改端口?

转载 作者:太空宇宙 更新时间:2023-11-03 22:14:48 24 4
gpt4 key购买 nike

我是nodejs新手,这是我第一次使用nodemon。我在windows上使用nodejs。我的 package.json 文件中有以下内容

"scripts": {
"start": "nodemon ./bin/www"
}

我从命令行使用 npm start 来启动我的 Express 应用程序。该过程从默认端口开始,这很烦人。但更烦人的是,每次我更改文件时,nodemon 都会重新启动应用程序,有时会在完全不同的随机端口号上重新启动。我尝试将 package.json 文件中的 script 部分更改为以下内容,但这没有任何区别

"scripts": {
"start": "nodemon ./bin/www 3000"
},

最佳答案

从评论看来,您似乎是通过环境变量指定端口,我们将其称为 EXPRESS_PORT。当您使用 npm 启动 Node 进程时, Node 进程不会继承它,因为 npm start 使用自己的环境创建一个新的 shell。所以你最终将端口undefined传递给express。这使得它绑定(bind)到一个随机的空闲端口。要解决此问题,您可以在启动命令中设置变量:

"scripts": {
"start": "EXPRESS_PORT=3000 nodemon ./bin/www"
}

或者您可以使用 export EXPRESS_PORT=3000 从 shell 导出它,然后运行 ​​npm start。如果您这样做,则需要确保始终在启动服务器之前导出,因此您可能希望将导出放在 ~/.profile~/.bashrc 中。

关于node.js - 如何阻止nodemon在每次重新启动express应用程序时更改端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32426851/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com