Dotenv变量加载但使用变量时出现数据库连接错误
Dotenv variables loading but db connection error when variable used
正在测试 dotenv 是否正常工作,我有以下信息:
.env
DB_PORT = 8000;
server.js
import dotenv from 'dotenv';
dotenv.config();
....
const PORT = process.env.DB_PORT || 8001;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}.`);
});
如果我 运行 这个我得到错误(尽管它显示变量正在加载):
Error: listen EACCES: permission denied 8000;
更改端口和同样的事情:
Error: listen EACCES: permission denied 3000;
如果我在 .evn 文件中注释掉 DB_PORT 它可以在 8001 上运行。如果我将其注释掉并在 VS 代码终端中输入以下内容:
export DB_PORT = 3600;
3600 上 运行s。
为什么会这样?
这是您 .env
中的分号。您不使用分号终止 .env
文件中的行,只是一个标准的换行符。
正在测试 dotenv 是否正常工作,我有以下信息:
.env
DB_PORT = 8000;
server.js
import dotenv from 'dotenv';
dotenv.config();
....
const PORT = process.env.DB_PORT || 8001;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}.`);
});
如果我 运行 这个我得到错误(尽管它显示变量正在加载):
Error: listen EACCES: permission denied 8000;
更改端口和同样的事情:
Error: listen EACCES: permission denied 3000;
如果我在 .evn 文件中注释掉 DB_PORT 它可以在 8001 上运行。如果我将其注释掉并在 VS 代码终端中输入以下内容:
export DB_PORT = 3600;
3600 上 运行s。
为什么会这样?
这是您 .env
中的分号。您不使用分号终止 .env
文件中的行,只是一个标准的换行符。