[개발] .env 파일을 통한 테스트 환경 설정
안녕하세요 @realmankwon 입니다.
.env 파일을 이용하면 로컬과 리모트에서 다른 환경에서 편하게 작업을 할 수 있습니다.
아래와 같이 코드를 수정하여 dotenv 패키지를 사용하여 .env 파일을 로드하고 NODE_ENV 값을 설정할 수 있습니다:
sequelize 의 config 에서 다음과 같이 설정을 해 보았습니다.
"use strict";
const fs = require("fs");
const path = require("path");
const Sequelize = require("sequelize");
const basename = path.basename(__filename);
const dotenv = require("dotenv"); // dotenv 패키지를 가져옵니다.
// .env 파일 로드
dotenv.config();
const env = process.env.NODE_ENV || "development";
const config = require(__dirname + "/../../config/config.json")[env];
const db = {};
let sequelize;
if (config.use_env_variable) {
sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
sequelize = new Sequelize(
config.database,
config.username,
config.password,
config
);
}
위의 코드에서 dotenv 패키지를 require("dotenv")를 사용하여 가져옵니다. 그리고 dotenv.config()를 호출하여 .env 파일을 로드합니다. 이렇게 하면 .env 파일에 정의된 NODE_ENV 값을 process.env.NODE_ENV 에 설정할 수 있습니다.
테스트 환경을 만들어서 로컬에서는 .env 파일에 NODE_ENV='테스트 DB IP' 를 설정을 하고 .env 파일을 .gitignore 로 하였습니다.
이제 좀 더 편하게 테스트를 할 수 있게 되었네요.