본문 바로가기
프로그래밍/웹 개발

[Node.js] dontev 모듈과 .env를 사용하여 sql 비밀번호 숨기기

by 제이콥J 2021. 7. 27.

스프린트 과제를 위해 우선 JavaScript 파일과 mysql을 연결해야 한다.

dontev 모듈을 이용하여 sql 비밀번호를 환경변수로 설정 후 git에서는 숨길 예정이다.

 

1. dontev 모듈 설치

- dontev 모듈 설치 코드 : npm i dontev

 

2. .env 파일 생성 후 환경변수 입력

- .env 파일 생성 후, mysql 접속을 위해 아래와 같이 개인정보를 입력 및 저장 (환경 변수로 저장됨)

DATABASE_USERNAME=
DATABASE_PASSWORD='yourpassword'
DATABASE_NAME='learnmysql'

 

- .env에 입력된 환경 변수는 Node.js의 내장 객체인 process.env에 객체 형태로 저장됨

{
  DATABASE_USERNAME: 'root',
  DATABASE_PASSWORD: 'yourpassword',
  DATABASE_NAME: 'learnmysql'
 }

 

3. JavaScript 파일에서 dontev를 이용해 .env의 환경변수 조회

- mysql.js 파일을 생성한 뒤, mysql 연결 및 dontev 모듈 이용을 위해 아래와 같이 코드 작성 후 저장

const dotenv = require('dotenv');
const mysql = require('mysql');

dotenv.config();

 

4. process.env를 통해 환경변수 접근하기

- mysql.js 파일에서 process.env를 활용하여 환경변수 불러오기

module.exports = class DatabaseConnector extends SingletonBase {
  constructor() {
    super();
    this.config = {
      host: 'localhost',
      user: process.env.DATABASE_USERNAME || 'root',
      password: process.env.DATABASE_PASSWORD || '',
      database: process.env.DATABASE_NAME || 'learnmysql'
    };

    return this;
  }
  
 ... 다른 코드들 
 }

 

5. .gitignore을 통해 .env의 환경변수 숨기기

- .env에 입력된 개인정보는 git을 통해 외부로 유출되면 안됨

- .gitignore을 파일에 .env를 추가하여 .env에 입력된 개인정보 유출을 막을 수 있음

 

- .gitignore 파일을 생성하고 아래 코드를 입력 후 저장

node_modules/
package-lock.json
.env
반응형

댓글