@jenya7771

Почему не успевает прогрузиться .env при использовании import?

Здравствуйте, я храню конфиги в переменной окружения, в файле .env в корне проекта, и подгружаю его через модуль dotenv.

И если я пытаюсь после вызова Dotenv подключить БД через import, у меня вылетает ошибка, а суть ошибки, что .env не успевает загрузиться до подключения БД.

Но если я подключаю БД через require, то все работает.
Почему так? Как можно решить, не очень хочется мешать в коде и import, и require.

Файл с БД:
import Sequelize from 'sequelize'

const sequelize = new Sequelize(
    process.env.DB_NAME,
    process.env.DB_USER,
    process.env.DB_PASS, {
    host: process.env.DB_HOST,
    dialect: process.env.DB_DIALECT,
    pool: {
        max: Number(process.env.DB_POOL_MAX),
        min: Number(process.env.DB_POOL_MIN),
        idle: Number(process.env.DB_POOL_IDLE),
        acquire: Number(process.env.DB_POOL_ACQUIRE)
    },
    logging: false
});

(async () => {
    try {

        await sequelize.authenticate()
        console.log('Сonnected to database')
    } catch (error) {

        const message = 'Error connecting to database: ' + error;
        console.error(message)
        process.exit(-1)
    }
})()

export default sequelize


Файл где подключаю:
const dotenvResConnect = dotenv.config()

if (dotenvResConnect.error) {
    throw dotenvResConnect.error
}

import db from './include/db'
// const db = require('./include/db')
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы