dotenv 환경변수 사용하기

2021. 1. 28. 21:06·BootCamp_Codestates/TILookCloser

dotenv

node.js 로 개발을 하면서, 포트, DB 관련 정보 등 전역으로 필요한 여러 정보들이 존재한다.

node.js 에서는 dotenv 패키지를 통해 환경변수 파일을 외부에 만들고, 관리할 수 있다.  특히, 깃허브 등에 오픈소스로 프로젝트를 공개할때, DB 계정 정보를 소스코드 내에 하드코딩하지 않고, 외부 환경변수 파일에 작성하고, .gitignore 을 통해 제외하면 안전하다.

Installation

yarn 을 통한 설치

yarn add dotenv

npm 을 통한 설치

npm install --save dotenv

Usage

프로젝트 루트경로에 .env 파일을 생성하고 다음과 같이 작성한다.

SERVER_PORT=3000 
DB_HOST=localhost 
DB_USER=root 
DB_PASSWORD=password

단순하게, 변수명=값 형태를 가지고 있다.

프로젝트 상단에 아래 코드를 적어 환경 변수를 불러온다.

require('dotenv').config();

불러온 환경변수는 아래와 같이 사용할 수 있다.

db.connect({ 
host: process.env.DB_HOST, 
username: process.env.DB_USER, 
password: process.env.DB_PASSWORD 
}); //DB 연결 예제 코드

app.listen(process.env.SERVER_PORT, () => { 
console.log('sample server is listening to port ' + process.env.SERVER_PORT); 
}); //서버 포트 예제 코드

위와 같이 process.env 키워드를 사용하여, 미리 정의한 환경변수에 접근한다.

 

정리가 잘돼있어, 복붙....

 

출처: hudi.kr/node-js-dotenv-%ED%99%98%EA%B2%BD-%EB%B3%80%EC%88%98-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0/

 

'BootCamp_Codestates > TILookCloser' 카테고리의 다른 글

How to set up Multer  (0) 2021.03.04
Git 명령어  (0) 2021.03.01
Node.js  (0) 2021.01.28
HA. 구현 프로세스 정리(초기 설정)  (0) 2021.01.25
'BootCamp_Codestates/TILookCloser' 카테고리의 다른 글
  • How to set up Multer
  • Git 명령어
  • Node.js
  • HA. 구현 프로세스 정리(초기 설정)
JTB
JTB
웹/앱 개발 정보를 공유하고 있습니다.
  • JTB
    JTechBlog
    JTB
  • 전체
    오늘
    어제
    • All About Programming;)
      • Other than Tech
        • 잡생각
      • Computer Science
        • Terminology and Concepts
        • Network
        • Operating System
        • Database
        • Data Structure
        • Web Development
      • Frontend
        • Javascript Essentials
        • Perfomance Optimization
        • JS Patterns
        • React
        • Next.js
        • Flutter
        • Testing
      • Backend
        • Node.js
      • DevOps
        • Docker & Kubernetes
      • Coding Test
        • LeetCode
        • Programmers
      • Tech Books & Lectures
        • Javascript_Modern JS Deep d..
        • Network_IT 엔지니어를 위한 네트워크 입문
      • Projects
        • PolyLingo_2025
        • Build Your Body_2024
        • JStargram_2021
        • Covid19 Tracker_2021
        • JPortfolio_2021
      • BootCamp_Codestates
        • TIL
        • TILookCloser
        • Pre Tech Blog
        • IM Tech Blog
        • Daily Issues and DeBugging
        • First Project
        • Final Project
        • Sprint Review
        • Good to Know
        • Socrative Review
        • HTML & CSS
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 글쓰기
    • 관리
  • 공지사항

  • 인기 글

  • 태그

    커리어
    indie hacker
    structure of os
    스코프
    Binary Tree BFS
    leetcode
    프론트엔드 성능 최적화 가이드
    How memory manage data
    이벤트
    Javascript Essentials
    mobile app
    database
    Shared resources
    js pattern
    자바스크립트
    Operating System
    개인의무한한능력이요구되는세상
    testing
    VoiceJournal
    DOM
    Network
    CPU scheduling algorithm
    polylingo
    Data Structure
    Threads and Multithreading
    자바스크립트 딥다이브
    Time complexity and Space complexity
    딥다이브
    TCP/IP
    모던 자바스크립트 Deep Dive
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
JTB
dotenv 환경변수 사용하기
상단으로

티스토리툴바