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;) N
      • Computer Science
        • Terminology and Concepts
        • Network
        • Operating System
        • Database
        • Data Structure
      • Frontend
        • Javascript Essentials
        • Perfomance Optimization
        • JS Patterns
        • Next.js
        • Flutter
      • Backend
        • Node.js
      • DevOps
        • Docker & Kubernetes
      • Coding Test N
        • LeetCode N
        • 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
  • 블로그 메뉴

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

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

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바