Dotenv 没有加载具有正确路径的环境变量
Dotenv not loading env variables with correct path
我正在使用 dotenv 库,但是我的环境变量 returns 未定义
// app.ts
require('dotenv').config({path: '/.env'});
console.log(process.env.MAIN_DB_PATH) // returns undefined
//.env
MAIN_DB_PATH=./data/database.db
UPLOAD_MULTER_DIR=./module/car/uploads
我的文件夹结构是
所以它应该可以正常工作:(
如果 .env
文件位于根目录,则不需要路径,但您可以从配置方法定义一个 return 值并检查是否发生错误
const result = dotenv.config()
if (result.error) {
throw result.error
}
console.log(result.parsed)
要加载不同目录中的 .env 文件,您需要提供该文件的绝对路径。
__dirname
: 需要加载 .env 文件的文件所在目录的绝对路径(本例中为app.ts)
..
:升一级
然后path.resolve
会给你.env文件的绝对路径
const path = require('path');
require("dotenv").config({ path: path.resolve(__dirname, '..', '.env') });
console.log(process.env.MAIN_DB_PATH);
我正在使用 dotenv 库,但是我的环境变量 returns 未定义
// app.ts
require('dotenv').config({path: '/.env'});
console.log(process.env.MAIN_DB_PATH) // returns undefined
//.env
MAIN_DB_PATH=./data/database.db
UPLOAD_MULTER_DIR=./module/car/uploads
我的文件夹结构是
所以它应该可以正常工作:(
如果 .env
文件位于根目录,则不需要路径,但您可以从配置方法定义一个 return 值并检查是否发生错误
const result = dotenv.config()
if (result.error) {
throw result.error
}
console.log(result.parsed)
要加载不同目录中的 .env 文件,您需要提供该文件的绝对路径。
__dirname
: 需要加载 .env 文件的文件所在目录的绝对路径(本例中为app.ts)..
:升一级
然后path.resolve
会给你.env文件的绝对路径
const path = require('path');
require("dotenv").config({ path: path.resolve(__dirname, '..', '.env') });
console.log(process.env.MAIN_DB_PATH);