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
6条答案
按热度按时间bt1cpqcv1#
必须使用设置变量值时使用的同一CLI程序(和示例)运行文件。
$env:PORT=5000
export PORT=5000
之后,运行您的程序
node app.js
,它就工作了。如果使用VSCode的集成终端运行文件,但使用的是另一个CLI程序(或示例)设置
PORT
的值,除非您通过命令提示符或Power Shell使用setx PORT 5000
永久更改该值,否则将无法正常工作(我不知道如何在Bash for Windows中执行此操作).在这种情况下,您需要重新启动VSCode以运行最后一个值为PORT
的文件。lmyy7pcs2#
应该是这样的
不是这样的
即在
=
符号之前和之后没有空间。bxgwgixi3#
在命令提示符中使用
set PORT=5000
而不是vscode终端。它肯定会工作。20jt8wwn4#
常量端口=编号(进程环境端口)
我不知道我们是否有同样的问题,或者你是否已经解决了这个问题,但我做了一个帐户只是因为我不能为我的生活让process.env.port工作,尽管我一直遵循每个人的准则(似乎没有其他人必须显式地将Process.env.PORT转换为数字)。需要修复这个问题才能在Heroku上部署我的应用程序,它分配PORT变量。可以高兴地说它工作正常,今晚不会失眠:)
lxkprmvk5#
有时会出现如下错误:“export”未被识别为内部或外部命令、可操作程序或批处理文件。
使用以下命令提示符(Windows):
brjng4g36#
如果您使用的是powershell或vscode终端
如果你正在使用windows命令提示符
如果您使用的是Bash或MAC终端
对于我来说,我使用vscode终端和$env:PORT=5000是工作正常。x1c 0d1x