簡體   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