无法访问dotnev变量

问题描述

我已经在我的nodeJs应用程序中添加一个.env文件,并将其添加到了app.js的行下面

require('dotenv').config();

我仍然无法访问环境变量。这里缺少什么?

.env文件内容

PORT: 3000
SPACE:"dev"
Password: "ABC"

我正在尝试使用

进行访问
process.env.PORT

以“未定义”的形式出现

更新app.js

const express = require('express');
const app = express();
const cors = require('cors')
const path = require('path');
require('dotenv').config();')


process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;

app.use(express.json());

console.log(process.env.PORT)
app.listen(process.env.PORT || 3000);

module.exports = app;

解决方法

.env文件应具有以下参数:

SPACE=dev
Password=ABC

示例在github repo上被提及。

,

将.env文件保留在app.js的相同路径中(无论您将根文件命名为server.js / index.js还是main.js)。

.env文件

PORT=3000
SPACE=DEV
PASSWORD=ABC

app.js文件

require('dotenv').config()

console.log(process.env.PORT)
console.log(process.env.SPACE)
console.log(process.env.PASSWORD)

文件路径

/my-app
    app.js
    .env
,

你必须指定你的 .env 文件所在的路径,就像这样

require('dotenv').config({path: __dirname + '/../.env'});