NodeJS 无法在窗口中为节点设置进程.env.PORT变量

vxbzzdmp  于 2023-01-08  发布在  Node.js
关注(0)|答案(6)|浏览(124)
const express = require('express'); 
const api = express();

api.get('/', (req, res) => res.send('Hello World'));

var port = process.env.PORT || 3000;

api.listen(port, () => console.log(`Listening to port 
${port}`));

我正在使用此命令设置PORT=5000设置后仍显示侦听端口3000

bt1cpqcv

bt1cpqcv1#

必须使用设置变量值时使用的同一CLI程序(和示例)运行文件。

  • 在命令提示符中:第一个月
  • 在电动 shell 中:$env:PORT=5000
  • 在Bash中(Windows):export PORT=5000

之后,运行您的程序node app.js,它就工作了。
如果使用VSCode的集成终端运行文件,但使用的是另一个CLI程序(或示例)设置PORT的值,除非您通过命令提示符或Power Shell使用setx PORT 5000永久更改该值,否则将无法正常工作(我不知道如何在Bash for Windows中执行此操作).在这种情况下,您需要重新启动VSCode以运行最后一个值为PORT的文件。

lmyy7pcs

lmyy7pcs2#

应该是这样的

For Command Prompt: set PORT=5000
For Power Shell: $env:PORT=5000
For Bash (Windows): export PORT=5000

不是这样的

For Command Prompt: set PORT = 5000
For Power Shell: $env:PORT = 5000
For Bash (Windows): export PORT = 5000

即在=符号之前和之后没有空间。

bxgwgixi

bxgwgixi3#

命令提示符中使用set PORT=5000而不是vscode终端。它肯定会工作。

20jt8wwn

20jt8wwn4#

常量端口=编号(进程环境端口)
我不知道我们是否有同样的问题,或者你是否已经解决了这个问题,但我做了一个帐户只是因为我不能为我的生活让process.env.port工作,尽管我一直遵循每个人的准则(似乎没有其他人必须显式地将Process.env.PORT转换为数字)。需要修复这个问题才能在Heroku上部署我的应用程序,它分配PORT变量。可以高兴地说它工作正常,今晚不会失眠:)

lxkprmvk

lxkprmvk5#

有时会出现如下错误:“export”未被识别为内部或外部命令、可操作程序或批处理文件。
使用以下命令提示符(Windows):

set PORT=5000
brjng4g3

brjng4g36#

如果您使用的是powershell或vscode终端

$env:PORT=5000

如果你正在使用windows命令提示符

set PORT = 5000

如果您使用的是Bash或MAC终端

export PORT = 5000

对于我来说,我使用vscode终端和$env:PORT=5000是工作正常。x1c 0d1x

相关问题