Share
Sign In
📄

.env 환경 변수 설정하기

설치
npm run start
.env 파일 작성
최상위의 디렉토리에 .env 파일을 생성한다. 그 안의 필요한 환경변수를 키=값의 형태로 기록한다.
DB_HOST=localhost DB_USER=root DB_PASS=s1mpl3
CommonJS에서 환경 변수 불러오기 (require)
Node.js에서 전통적으로 제공해왔던 모듈 시스템인 CommonJS에서 dotenv 라이브러리를 어떻게 사용하는지 알아보자.
// index.js require("dotenv").config(); console.log("DB_HOST:", process.env.DB_HOST); //DB_HOST: localhost console.log("DB_USER:", process.env.DB_USER); //DB_USER: root console.log("DB_PASS:", process.env.DB_PASS); //DB_PASS: s1mpl3
만약에 .env가 아닌 다른 경로에 있는 파일에 환경 변수를 저장해놨다면 config() 함수를 호출 시 path 옵션을 넘기면 됩니다.
require("dotenv").config({ path: "/path/to/.env.local" });
ES 모듈에서 환경 변수 불러오기 (Import)
ES 모듈에서는 사용을 조금 더 조심해야한다.
// db.js export const db_host = process.env.DB_HOST; export const db_user = process.env.DB_USER; export const db_pass = process.env.DB_PASS;
//index.js import dotenv from "dotenv"; import { db_host, db_user, db_pass } from "./db.js"; dotenv.config(); console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS); console.log({ db_host, db_user, db_pass });
// output DB_HOST: localhost DB_USER: root DB_PASS: s1mpl3 { db_host: undefined, db_user: undefined, db_pass: undefined }
dotenv.config(); 이전에 import 된 ./db.js 에서는 db.js 파일이 process.env 에 접근했을 시점에는 환경 변수가 설정이 되어 있지 않았던 것을 알 수 있다.
이 문제는 dotenv 라이브러리를 임포트하는 코드를 별도의 파일로 빼고, 그 안에 dotenv.config()
 함수를 호출하면 피할 수 있습니다.
// env.js import dotenv from "dotenv"; dotenv.config();
// index.js import "./env.js"; import { db_host, db_user, db_pass } from "./db.js"; console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS); console.log({ db_host, db_user, db_pass });
DB_HOST: localhost DB_USER: root DB_PASS: s1mpl3 { db_host: 'localhost', db_user: 'root', db_pass: 's1mpl3' }
node 커맨드 -r 옵션
본인 프로젝트가 CommonJS 기반인지 ES 모듈 기반인지 신경쓰기 싫으시다면 node 커맨드를 이용하는 방법도 있습니다. 애플리케이션을 구동할 때, node 커맨드의 -r 또는 --require 옵션으로 dotenv/config를 넘기는 것입니다.
$ node -r dotenv/config index.js
이 방법을 사용하면 dotenv 라이브러리를 코드에 직접 임포트하지 않아도 .env 파일에 저장된 환경 변수가 process.env에 설정됩니다.
// index.js console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS);
출처
Node.js 메뉴로 돌아가기
Node.js / Express.js
메인으로 돌아가기
설치
npm run start
.env 파일 작성
최상위의 디렉토리에 .env 파일을 생성한다. 그 안의 필요한 환경변수를 키=값의 형태로 기록한다.
DB_HOST=localhost DB_USER=root DB_PASS=s1mpl3
CommonJS에서 환경 변수 불러오기 (require)
Node.js에서 전통적으로 제공해왔던 모듈 시스템인 CommonJS에서 dotenv 라이브러리를 어떻게 사용하는지 알아보자.
// index.js require("dotenv").config(); console.log("DB_HOST:", process.env.DB_HOST); //DB_HOST: localhost console.log("DB_USER:", process.env.DB_USER); //DB_USER: root console.log("DB_PASS:", process.env.DB_PASS); //DB_PASS: s1mpl3
만약에 .env가 아닌 다른 경로에 있는 파일에 환경 변수를 저장해놨다면 config() 함수를 호출 시 path 옵션을 넘기면 됩니다.
require("dotenv").config({ path: "/path/to/.env.local" });
ES 모듈에서 환경 변수 불러오기 (Import)
ES 모듈에서는 사용을 조금 더 조심해야한다.
// db.js export const db_host = process.env.DB_HOST; export const db_user = process.env.DB_USER; export const db_pass = process.env.DB_PASS;
//index.js import dotenv from "dotenv"; import { db_host, db_user, db_pass } from "./db.js"; dotenv.config(); console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS); console.log({ db_host, db_user, db_pass });
// output DB_HOST: localhost DB_USER: root DB_PASS: s1mpl3 { db_host: undefined, db_user: undefined, db_pass: undefined }
dotenv.config(); 이전에 import 된 ./db.js 에서는 db.js 파일이 process.env 에 접근했을 시점에는 환경 변수가 설정이 되어 있지 않았던 것을 알 수 있다.
이 문제는 dotenv 라이브러리를 임포트하는 코드를 별도의 파일로 빼고, 그 안에 dotenv.config()
 함수를 호출하면 피할 수 있습니다.
// env.js import dotenv from "dotenv"; dotenv.config();
// index.js import "./env.js"; import { db_host, db_user, db_pass } from "./db.js"; console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS); console.log({ db_host, db_user, db_pass });
DB_HOST: localhost DB_USER: root DB_PASS: s1mpl3 { db_host: 'localhost', db_user: 'root', db_pass: 's1mpl3' }
node 커맨드 -r 옵션
본인 프로젝트가 CommonJS 기반인지 ES 모듈 기반인지 신경쓰기 싫으시다면 node 커맨드를 이용하는 방법도 있습니다. 애플리케이션을 구동할 때, node 커맨드의 -r 또는 --require 옵션으로 dotenv/config를 넘기는 것입니다.
$ node -r dotenv/config index.js
이 방법을 사용하면 dotenv 라이브러리를 코드에 직접 임포트하지 않아도 .env 파일에 저장된 환경 변수가 process.env에 설정됩니다.
// index.js console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS);
출처
Node.js 메뉴로 돌아가기
Node.js / Express.js
메인으로 돌아가기
설치
npm run start
.env 파일 작성
최상위의 디렉토리에 .env 파일을 생성한다. 그 안의 필요한 환경변수를 키=값의 형태로 기록한다.
DB_HOST=localhost DB_USER=root DB_PASS=s1mpl3
CommonJS에서 환경 변수 불러오기 (require)
Node.js에서 전통적으로 제공해왔던 모듈 시스템인 CommonJS에서 dotenv 라이브러리를 어떻게 사용하는지 알아보자.
// index.js require("dotenv").config(); console.log("DB_HOST:", process.env.DB_HOST); //DB_HOST: localhost console.log("DB_USER:", process.env.DB_USER); //DB_USER: root console.log("DB_PASS:", process.env.DB_PASS); //DB_PASS: s1mpl3
만약에 .env가 아닌 다른 경로에 있는 파일에 환경 변수를 저장해놨다면 config() 함수를 호출 시 path 옵션을 넘기면 됩니다.
require("dotenv").config({ path: "/path/to/.env.local" });
ES 모듈에서 환경 변수 불러오기 (Import)
ES 모듈에서는 사용을 조금 더 조심해야한다.
// db.js export const db_host = process.env.DB_HOST; export const db_user = process.env.DB_USER; export const db_pass = process.env.DB_PASS;
//index.js import dotenv from "dotenv"; import { db_host, db_user, db_pass } from "./db.js"; dotenv.config(); console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS); console.log({ db_host, db_user, db_pass });
// output DB_HOST: localhost DB_USER: root DB_PASS: s1mpl3 { db_host: undefined, db_user: undefined, db_pass: undefined }
dotenv.config(); 이전에 import 된 ./db.js 에서는 db.js 파일이 process.env 에 접근했을 시점에는 환경 변수가 설정이 되어 있지 않았던 것을 알 수 있다.
이 문제는 dotenv 라이브러리를 임포트하는 코드를 별도의 파일로 빼고, 그 안에 dotenv.config()
 함수를 호출하면 피할 수 있습니다.
// env.js import dotenv from "dotenv"; dotenv.config();
// index.js import "./env.js"; import { db_host, db_user, db_pass } from "./db.js"; console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS); console.log({ db_host, db_user, db_pass });
DB_HOST: localhost DB_USER: root DB_PASS: s1mpl3 { db_host: 'localhost', db_user: 'root', db_pass: 's1mpl3' }
node 커맨드 -r 옵션
본인 프로젝트가 CommonJS 기반인지 ES 모듈 기반인지 신경쓰기 싫으시다면 node 커맨드를 이용하는 방법도 있습니다. 애플리케이션을 구동할 때, node 커맨드의 -r 또는 --require 옵션으로 dotenv/config를 넘기는 것입니다.
$ node -r dotenv/config index.js
이 방법을 사용하면 dotenv 라이브러리를 코드에 직접 임포트하지 않아도 .env 파일에 저장된 환경 변수가 process.env에 설정됩니다.
// index.js console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS);
출처
Node.js 메뉴로 돌아가기
Node.js / Express.js
메인으로 돌아가기
설치
npm run start
.env 파일 작성
최상위의 디렉토리에 .env 파일을 생성한다. 그 안의 필요한 환경변수를 키=값의 형태로 기록한다.
DB_HOST=localhost DB_USER=root DB_PASS=s1mpl3
CommonJS에서 환경 변수 불러오기 (require)
Node.js에서 전통적으로 제공해왔던 모듈 시스템인 CommonJS에서 dotenv 라이브러리를 어떻게 사용하는지 알아보자.
// index.js require("dotenv").config(); console.log("DB_HOST:", process.env.DB_HOST); //DB_HOST: localhost console.log("DB_USER:", process.env.DB_USER); //DB_USER: root console.log("DB_PASS:", process.env.DB_PASS); //DB_PASS: s1mpl3
만약에 .env가 아닌 다른 경로에 있는 파일에 환경 변수를 저장해놨다면 config() 함수를 호출 시 path 옵션을 넘기면 됩니다.
require("dotenv").config({ path: "/path/to/.env.local" });
ES 모듈에서 환경 변수 불러오기 (Import)
ES 모듈에서는 사용을 조금 더 조심해야한다.
// db.js export const db_host = process.env.DB_HOST; export const db_user = process.env.DB_USER; export const db_pass = process.env.DB_PASS;
//index.js import dotenv from "dotenv"; import { db_host, db_user, db_pass } from "./db.js"; dotenv.config(); console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS); console.log({ db_host, db_user, db_pass });
// output DB_HOST: localhost DB_USER: root DB_PASS: s1mpl3 { db_host: undefined, db_user: undefined, db_pass: undefined }
dotenv.config(); 이전에 import 된 ./db.js 에서는 db.js 파일이 process.env 에 접근했을 시점에는 환경 변수가 설정이 되어 있지 않았던 것을 알 수 있다.
이 문제는 dotenv 라이브러리를 임포트하는 코드를 별도의 파일로 빼고, 그 안에 dotenv.config()
 함수를 호출하면 피할 수 있습니다.
// env.js import dotenv from "dotenv"; dotenv.config();
// index.js import "./env.js"; import { db_host, db_user, db_pass } from "./db.js"; console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS); console.log({ db_host, db_user, db_pass });
DB_HOST: localhost DB_USER: root DB_PASS: s1mpl3 { db_host: 'localhost', db_user: 'root', db_pass: 's1mpl3' }
node 커맨드 -r 옵션
본인 프로젝트가 CommonJS 기반인지 ES 모듈 기반인지 신경쓰기 싫으시다면 node 커맨드를 이용하는 방법도 있습니다. 애플리케이션을 구동할 때, node 커맨드의 -r 또는 --require 옵션으로 dotenv/config를 넘기는 것입니다.
$ node -r dotenv/config index.js
이 방법을 사용하면 dotenv 라이브러리를 코드에 직접 임포트하지 않아도 .env 파일에 저장된 환경 변수가 process.env에 설정됩니다.
// index.js console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS);
출처
Node.js 메뉴로 돌아가기
Node.js / Express.js
메인으로 돌아가기
설치
npm run start
.env 파일 작성
최상위의 디렉토리에 .env 파일을 생성한다. 그 안의 필요한 환경변수를 키=값의 형태로 기록한다.
DB_HOST=localhost DB_USER=root DB_PASS=s1mpl3
CommonJS에서 환경 변수 불러오기 (require)
Node.js에서 전통적으로 제공해왔던 모듈 시스템인 CommonJS에서 dotenv 라이브러리를 어떻게 사용하는지 알아보자.
// index.js require("dotenv").config(); console.log("DB_HOST:", process.env.DB_HOST); //DB_HOST: localhost console.log("DB_USER:", process.env.DB_USER); //DB_USER: root console.log("DB_PASS:", process.env.DB_PASS); //DB_PASS: s1mpl3
만약에 .env가 아닌 다른 경로에 있는 파일에 환경 변수를 저장해놨다면 config() 함수를 호출 시 path 옵션을 넘기면 됩니다.
require("dotenv").config({ path: "/path/to/.env.local" });
ES 모듈에서 환경 변수 불러오기 (Import)
ES 모듈에서는 사용을 조금 더 조심해야한다.
// db.js export const db_host = process.env.DB_HOST; export const db_user = process.env.DB_USER; export const db_pass = process.env.DB_PASS;
//index.js import dotenv from "dotenv"; import { db_host, db_user, db_pass } from "./db.js"; dotenv.config(); console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS); console.log({ db_host, db_user, db_pass });
// output DB_HOST: localhost DB_USER: root DB_PASS: s1mpl3 { db_host: undefined, db_user: undefined, db_pass: undefined }
dotenv.config(); 이전에 import 된 ./db.js 에서는 db.js 파일이 process.env 에 접근했을 시점에는 환경 변수가 설정이 되어 있지 않았던 것을 알 수 있다.
이 문제는 dotenv 라이브러리를 임포트하는 코드를 별도의 파일로 빼고, 그 안에 dotenv.config()
 함수를 호출하면 피할 수 있습니다.
// env.js import dotenv from "dotenv"; dotenv.config();
// index.js import "./env.js"; import { db_host, db_user, db_pass } from "./db.js"; console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS); console.log({ db_host, db_user, db_pass });
DB_HOST: localhost DB_USER: root DB_PASS: s1mpl3 { db_host: 'localhost', db_user: 'root', db_pass: 's1mpl3' }
node 커맨드 -r 옵션
본인 프로젝트가 CommonJS 기반인지 ES 모듈 기반인지 신경쓰기 싫으시다면 node 커맨드를 이용하는 방법도 있습니다. 애플리케이션을 구동할 때, node 커맨드의 -r 또는 --require 옵션으로 dotenv/config를 넘기는 것입니다.
$ node -r dotenv/config index.js
이 방법을 사용하면 dotenv 라이브러리를 코드에 직접 임포트하지 않아도 .env 파일에 저장된 환경 변수가 process.env에 설정됩니다.
// index.js console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS);
출처
Node.js 메뉴로 돌아가기
Node.js / Express.js
메인으로 돌아가기
설치
npm run start
.env 파일 작성
최상위의 디렉토리에 .env 파일을 생성한다. 그 안의 필요한 환경변수를 키=값의 형태로 기록한다.
DB_HOST=localhost DB_USER=root DB_PASS=s1mpl3
CommonJS에서 환경 변수 불러오기 (require)
Node.js에서 전통적으로 제공해왔던 모듈 시스템인 CommonJS에서 dotenv 라이브러리를 어떻게 사용하는지 알아보자.
// index.js require("dotenv").config(); console.log("DB_HOST:", process.env.DB_HOST); //DB_HOST: localhost console.log("DB_USER:", process.env.DB_USER); //DB_USER: root console.log("DB_PASS:", process.env.DB_PASS); //DB_PASS: s1mpl3
만약에 .env가 아닌 다른 경로에 있는 파일에 환경 변수를 저장해놨다면 config() 함수를 호출 시 path 옵션을 넘기면 됩니다.
require("dotenv").config({ path: "/path/to/.env.local" });
ES 모듈에서 환경 변수 불러오기 (Import)
ES 모듈에서는 사용을 조금 더 조심해야한다.
// db.js export const db_host = process.env.DB_HOST; export const db_user = process.env.DB_USER; export const db_pass = process.env.DB_PASS;
//index.js import dotenv from "dotenv"; import { db_host, db_user, db_pass } from "./db.js"; dotenv.config(); console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS); console.log({ db_host, db_user, db_pass });
// output DB_HOST: localhost DB_USER: root DB_PASS: s1mpl3 { db_host: undefined, db_user: undefined, db_pass: undefined }
dotenv.config(); 이전에 import 된 ./db.js 에서는 db.js 파일이 process.env 에 접근했을 시점에는 환경 변수가 설정이 되어 있지 않았던 것을 알 수 있다.
이 문제는 dotenv 라이브러리를 임포트하는 코드를 별도의 파일로 빼고, 그 안에 dotenv.config()
 함수를 호출하면 피할 수 있습니다.
// env.js import dotenv from "dotenv"; dotenv.config();
// index.js import "./env.js"; import { db_host, db_user, db_pass } from "./db.js"; console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS); console.log({ db_host, db_user, db_pass });
DB_HOST: localhost DB_USER: root DB_PASS: s1mpl3 { db_host: 'localhost', db_user: 'root', db_pass: 's1mpl3' }
node 커맨드 -r 옵션
본인 프로젝트가 CommonJS 기반인지 ES 모듈 기반인지 신경쓰기 싫으시다면 node 커맨드를 이용하는 방법도 있습니다. 애플리케이션을 구동할 때, node 커맨드의 -r 또는 --require 옵션으로 dotenv/config를 넘기는 것입니다.
$ node -r dotenv/config index.js
이 방법을 사용하면 dotenv 라이브러리를 코드에 직접 임포트하지 않아도 .env 파일에 저장된 환경 변수가 process.env에 설정됩니다.
// index.js console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS);
출처
Node.js 메뉴로 돌아가기
Node.js / Express.js
메인으로 돌아가기
설치
npm run start
.env 파일 작성
최상위의 디렉토리에 .env 파일을 생성한다. 그 안의 필요한 환경변수를 키=값의 형태로 기록한다.
DB_HOST=localhost DB_USER=root DB_PASS=s1mpl3
CommonJS에서 환경 변수 불러오기 (require)
Node.js에서 전통적으로 제공해왔던 모듈 시스템인 CommonJS에서 dotenv 라이브러리를 어떻게 사용하는지 알아보자.
// index.js require("dotenv").config(); console.log("DB_HOST:", process.env.DB_HOST); //DB_HOST: localhost console.log("DB_USER:", process.env.DB_USER); //DB_USER: root console.log("DB_PASS:", process.env.DB_PASS); //DB_PASS: s1mpl3
만약에 .env가 아닌 다른 경로에 있는 파일에 환경 변수를 저장해놨다면 config() 함수를 호출 시 path 옵션을 넘기면 됩니다.
require("dotenv").config({ path: "/path/to/.env.local" });
ES 모듈에서 환경 변수 불러오기 (Import)
ES 모듈에서는 사용을 조금 더 조심해야한다.
// db.js export const db_host = process.env.DB_HOST; export const db_user = process.env.DB_USER; export const db_pass = process.env.DB_PASS;
//index.js import dotenv from "dotenv"; import { db_host, db_user, db_pass } from "./db.js"; dotenv.config(); console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS); console.log({ db_host, db_user, db_pass });
// output DB_HOST: localhost DB_USER: root DB_PASS: s1mpl3 { db_host: undefined, db_user: undefined, db_pass: undefined }
dotenv.config(); 이전에 import 된 ./db.js 에서는 db.js 파일이 process.env 에 접근했을 시점에는 환경 변수가 설정이 되어 있지 않았던 것을 알 수 있다.
이 문제는 dotenv 라이브러리를 임포트하는 코드를 별도의 파일로 빼고, 그 안에 dotenv.config()
 함수를 호출하면 피할 수 있습니다.
// env.js import dotenv from "dotenv"; dotenv.config();
// index.js import "./env.js"; import { db_host, db_user, db_pass } from "./db.js"; console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS); console.log({ db_host, db_user, db_pass });
DB_HOST: localhost DB_USER: root DB_PASS: s1mpl3 { db_host: 'localhost', db_user: 'root', db_pass: 's1mpl3' }
node 커맨드 -r 옵션
본인 프로젝트가 CommonJS 기반인지 ES 모듈 기반인지 신경쓰기 싫으시다면 node 커맨드를 이용하는 방법도 있습니다. 애플리케이션을 구동할 때, node 커맨드의 -r 또는 --require 옵션으로 dotenv/config를 넘기는 것입니다.
$ node -r dotenv/config index.js
이 방법을 사용하면 dotenv 라이브러리를 코드에 직접 임포트하지 않아도 .env 파일에 저장된 환경 변수가 process.env에 설정됩니다.
// index.js console.log("DB_HOST:", process.env.DB_HOST); console.log("DB_USER:", process.env.DB_USER); console.log("DB_PASS:", process.env.DB_PASS);
출처
Node.js 메뉴로 돌아가기
Node.js / Express.js
메인으로 돌아가기