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端口
您必须使用用于设置变量值的同一 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(我不知道如何从 Windows 的 Bash 中执行此操作)。在这种情况下,您需要重新启动 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
即
=
符号前后没有空格。
在
命令提示符中使用
set PORT=5000
而不是vscode终端。一定会成功的。
const 端口 = Number(process.env.PORT)
我不知道我们是否有同样的问题,或者你是否解决过这个问题,但我为此创建了一个帐户JUST,因为我无法一辈子让 process.env.PORT 工作,尽管我一直在关注每个人的代码(似乎没有人必须将 process.env.PORT 显式转换为数字)。需要解决这个问题才能在 Heroku 上部署我的应用程序,它分配 PORT 变量。可以高兴地说它有效并且今晚不会失眠:)
有时会出现如下错误: “export”不被识别为内部或外部命令, 可运行的程序或批处理文件。
使用此命令提示符(Windows):
set PORT=5000
安装 dotenv 解决了我的问题。
npm I dotenv
然后将其添加到你的js文件中
require('dotenv').config()