Node.js 中的 process.env.PORT 是什么?

新手上路,请多包涵

process.env.PORT || 3000 在 Node.js 中用于什么?我在某处看到了这个:

  app.set('port', process.env.PORT || 3000);

如果用来设置 3000 作为监听端口,我可以用这个代替吗?

 app.listen(3000);

如果不是为什么?

原文由 user-S 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.8k
2 个回答

在许多环境中(例如 Heroku),按照惯例,您可以设置环境变量 PORT 来告诉您的 Web 服务器监听哪个端口。

所以 process.env.PORT || 3000 表示:环境变量 PORT 中的任何内容,如果没有,则为 3000。

因此,您将其传递给 app.listenapp.set('port', ...) ,这使您的服务器能够接受来自环境的“监听哪个端口”参数。

如果您通过 3000 硬编码为 app.listen() ,则您始终在侦听端口 3000,这可能只适合您,也可能不适合您,具体取决于您的要求和运行服务器的环境。

原文由 Nitzan Shaked 发布,翻译遵循 CC BY-SA 4.0 许可协议

  • 如果你运行 node index.js ,节点将使用 3000

  • 如果运行 PORT=4444 node index.js ,Node 将使用 process.env.PORT 4444 。使用 sudo 运行低于 1024 的端口。

原文由 Abdennour TOUMI 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进