#javascript #node.js
#javascript #node.js
Вопрос:
Я пытаюсь импортировать файлы dotenv внутри файлов дочернего каталога. Я включил параметр path в спецификацию конфигурации, чтобы гарантировать импорт соответствующего файла.
Здесь мой snippet.js:
const path=require("path")
if (process.env.NODE_ENV !== 'production') {
console.log("in dotenv load, ",path.resolve(__dirname, "../"))
require('dotenv').config({path: path.resolve(__dirname, "../")})
}
Но process.env относительно моего .env возвращается undefined
. Я знаю, что мой .env
файл работает хорошо, поскольку я тестировал его на других файлах на корневом уровне.
Любая подсказка была бы отличной, спасибо
Ответ №1:
Похоже, вы пытаетесь импортировать несколько файлов в этот каталог. Одновременно можно использовать только require
один .env
файл. По умолчанию пакет dotenv выбирает .env
файл в вашем текущем рабочем каталоге с помощью path.resolve(process.cwd(), '.env')
.
Попробуйте указать имя файла, скажем vars.env
const path=require("path")
if (process.env.NODE_ENV !== 'production') {
console.log("in dotenv load, ",path.resolve(__dirname, "../vars.env"))
require('dotenv').config({path: path.resolve(__dirname, "../vars.env")})
}
Надеюсь, это поможет!
Комментарии:
1. фактически я забыл
.env
в конце пути, теперь работает хорошо2. У меня это сработало… Я пытался с помощью path.join(__dirname, ‘../’,
config/.env.${process.env.NODE_ENV}
); Но это не сработало, Спасибо за ответ