繁体   English   中英

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

[英]not able to set process.env.PORT variable in windows for node

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设置后仍然显示 Listening to port 3000

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

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

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

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

之后,运行您的程序node app.js ,它就可以工作了。

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

应该是这样的

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

=符号前后没有空格。

常量端口 =数字(process.env.PORT)

我不知道我们是否有同样的问题,或者你是否知道这一点,但我为此创建了一个帐户,因为我一生都无法让process.env.PORT工作,即使我是遵循每个人的代码到 tee (似乎没有其他人必须明确地将 process.env.PORT 转换为数字)。 需要解决这个问题才能在 Heroku 上部署我的应用程序,它分配了 PORT 变量。 可以高兴地说它有效,今晚不会失眠:)

有时它会给出一个错误,例如:'export' 不是内部或外部命令、可运行程序或批处理文件。

使用此命令提示符 (Windows):

set PORT=5000

命令提示符下使用set PORT=5000而不是vscode terminal 它肯定会奏效。

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

$env:PORT=5000

如果您使用的是 windows 命令提示符

set PORT = 5000

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

export PORT = 5000

对我来说,我正在使用 vscode 终端并且 $env:PORT=5000 工作正常。 将侦听端口设置为 5000 作为环境变量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM