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;)
      • 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
  • 블로그 메뉴

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

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

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바