dev*_*_el 5 node.js express dotenv
.env我的根目录中有一个文件,PORT = 3000;里面有
在我的中app.js,我使用 .env 文件来监听端口 3000
require('dotenv').config();
const express = require('express');
const app = express();
const port = process.env.PORT || 4000;
app.get('/', (req, res) => {
res.send('Hello World!!!');
});
app.listen(port, () => console.log(`Example app listening on port ${port}!`));
Run Code Online (Sandbox Code Playgroud)
尝试运行该文件后,出现以下错误
错误:监听 EADDRINUSE:地址已在使用 3000;
我使用的是 Mac,所以我尝试sudo lsof -i :3000在终端中使用,并被要求输入密码。
我输入密码并按 Enter 键,但没有任何反应。
我怎样才能消除错误?我相信我的密码是正确的。我今天确实获得了 Mac 操作系统的重大更新——这会导致一些与密码相关的问题吗?
小智 10
我在Windows上使用以下命令修复了此错误:
netstat -ano | findstr :3000.
Run Code Online (Sandbox Code Playgroud)
输入上面的命令后,您将获得以下 TCP 地址:
TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 12356
TCP [::]:3000 [::]:0 LISTENING 12356
Run Code Online (Sandbox Code Playgroud)
然后运行:
taskkill /PID 12356 /F
Run Code Online (Sandbox Code Playgroud)
例如:
C:\Users\Desktop\nodejs>netstat -ano | findstr :3000
TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 12356
TCP [::]:3000 [::]:0 LISTENING 12356
C:\Users\Desktop\nodejs>taskkill /PID 12356 /F
SUCCESS: The process with PID 12356 has been terminated.
Run Code Online (Sandbox Code Playgroud)
将文件更改app.js为
const express = require('express');
const app = express();
const port = process.env.PORT || 3000;
require('dotenv').config();
app.get('/', (req, res) => {
res.send('Hello World!!!');
});
app.listen(port, () => console.log(`Example app listening on port ${port}!`));
Run Code Online (Sandbox Code Playgroud)
解决了问题,但PORT没有.env被阅读......
| 归档时间: |
|
| 查看次数: |
31389 次 |
| 最近记录: |