无法在Windows中为节点设置process.env.PORT变量

时间:2018-11-12 05:55:05

标签: node.js

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”

2 个答案:

答案 0 :(得分:1)

您必须使用与设置变量值相同的CLI程序(和实例)运行文件。

  • 在命令提示符中:set PORT=5000

  • 在Power Shell中:$env:PORT=5000

  • 在Bash中(Windows):export PORT=5000

然后,运行您的程序node app.js,它会起作用。

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

答案 1 :(得分:1)

应该是这样

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

=前后没有空格。