[Node.js] 비밀 정보 보호하기 (github에 올리지 않기)

2022. 12. 18. 17:20·🍞 BackEnd/Node.js

몽고DB를 연동하던 중 비밀번호가 담겨있는 키를 코드에 옮겨적어야 했다.
깃허브에 올려야하는데 내 비밀번호가 보이면 안되기 때문에 코드를 바꿔보고자 한다!

// index.js

const mongoose = require('mongoose')
mongoose.connect('비밀번호키가 포함된 URI')
.then(() => console.log('MongoDB Connected...'))
.catch((e) => console.log('MongoDB error:', e))

위의 코드를 바꾸자면 ..

// key.js
// 개발환경이 로컬인 경우와 배포모드일 경우 다르게 설정

if(process.env.NODE_ENV === 'production') {
    module.exports = require('./prod');
} else {
    module.exports = require('./dev')
}
//dev.js => 개발환경이 로컬인 경우
module.exports = {
    mongoURI: '비밀번호가 포함된 URI'
}

//prod.js => 개발환경이 배포모드인 경우
module.exports = {
    mongoURI: process.env.MONGO_URI 
}
// index.js

const config = require("./config/key.js"); // config 폴더에 있는 key.js를 가져온다.

const mongoose = require('mongoose')
mongoose.connect(config.mongoURI)
.then(() => console.log('MongoDB Connected...'))
.catch((e) => console.log('MongoDB error:', e))


직접 URL을 입력하지 않고 config.mongoURL 라고 입력해 준 뒤, 직접 코드가 적혀있는 dev.js만 숨겨주면 된다. .gitignore 디렉토리에 dev.js 적어주면 끝

저작자표시 (새창열림)

'🍞 BackEnd > Node.js' 카테고리의 다른 글

[Node.js] multer를 이용하여 React 파일 업로드 구현하기  (0) 2022.12.28
[Node.js] 로그인, 로그아웃, 회원가입 구현 with MongoDB  (0) 2022.12.24
[Node.js] methods와 statics 차이  (0) 2022.12.18
[Node.js] 개발 서버 실행과 빌드  (2) 2022.09.30
[Node.js] npm(Node Package Manager) 개요  (0) 2022.09.30
'🍞 BackEnd/Node.js' 카테고리의 다른 글
  • [Node.js] 로그인, 로그아웃, 회원가입 구현 with MongoDB
  • [Node.js] methods와 statics 차이
  • [Node.js] 개발 서버 실행과 빌드
  • [Node.js] npm(Node Package Manager) 개요
박빵이
박빵이
2025년에도 갓생살기
  • 박빵이
    기억보다 기록
    박빵이
  • 전체
    오늘
    어제
    • 분류 전체보기 (337)
      • 🍞 FrontEnd (97)
        • HTML+CSS (4)
        • JavaScript (17)
        • TypeScript (4)
        • React (52)
        • Next.js (2)
        • Android (15)
      • 🍞 BackEnd (24)
        • Java (15)
        • Node.js (6)
        • Spring (1)
      • 🍞 Cloud & Infra (0)
        • AWS SAA (0)
        • Microsoft Azure (0)
      • 🍞 Algorithm (147)
        • C++ (4)
        • Baekjoon (41)
        • Programmers (97)
      • 🍞 Computer Science (18)
        • 운영체제 (1)
        • 데이터 통신 (6)
        • 네트워크 (6)
        • 데이터베이스 (1)
      • 🍞 대외활동 & 부트캠프 (42)
        • 삼성 청년 SW 아카데미 (1)
        • LG유플러스 유레카 (0)
        • 한국대학생IT경영학회 (1)
        • IT연합동아리 UMC (17)
        • 길벗 블로깅 멘토 (18)
        • IT연합동아리 피로그래밍 (3)
        • 개발 컨퍼런스 (2)
  • 블로그 메뉴

    • Admin
  • 링크

    • GitHub
  • 인기 글

  • 태그

    map
    코딩자율학습
    level1
    안드로이드
    Android
    react
    유니온파인드
    프로그래머스
    위상정렬
    백준
    JavaScript
    길벗 블로깅 멘토링
    umc
    level2
    알고리즘
    C++
    Front
    Java
    길벗 블로깅 멘토
    코틀린
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
박빵이
[Node.js] 비밀 정보 보호하기 (github에 올리지 않기)
상단으로

티스토리툴바