env란

  • environment variable로 환경변수를 뜻합니다.
  • API_KEY, DB관련 정보 등 개발팀 내에서만 알아야 하는 값이 있습니다.
  • 이때 dotenv 패키지를 사용해 환경변수 파일을 외부에 만들어 필요할 때마다 import해 하드코딩하지 않고 사용할 수 있습니다.
  • 또한 .env파일을 gitignore에 추가해 github에 올라가지 않도록 설정 가능합니다.
  • 팀내에서 공유할 땐 그냥 내 env 파일 긁어서 복붙해서 주거나 slack bot을 이용할 수 있습니다.

 

프로젝트에서 어떻게 쓰나

1. react-native-dotenv 라이브러리 설치

yarn add -D @types/react-native-dotenv

 

2. babel.config.js 파일에서 plugins 항목에 값 넣어주기

module.exports = function () {
  return {
    ...,
    **plugins: [
      [
        "module:react-native-dotenv",
        {
          moduleName: "react-native-dotenv",
        },
      ],
    ],**
  };
};

 

3. 최상단에 .env 파일 만들고 내용 추가하기

//.env
EXPO_PUBLIC_KAKAO_REST_API_KEY = 어쩌고 저쩌고
EXPO_PUBLIC_KAKAO_REDIRECT_URI = https://moyeota-webview.netlify.app/
EXPO_PUBLIC_환경변수_이름 = 어쩌고 저쩌고
  • 우리는 Expo 환경에서 개발중이기에 env파일 내의 변수 이름 앞에 EXPO_PUBLIC_ 을 붙여주어야 합니다.
  • 여담으로 CRA를 이용해 프로젝트를 만든 경우 REACT_APP_환경변수이름 = 값 의 형태로 쓰면 됩니다.
  • 또 여담인데 vite로 프로젝트를 만들면 VITE_환경변수이름 = 값 으로 하면 됩니다.

 

4. 갖다 쓰기

  • process.env.변수이름 의 형태로 가져올 수 있다.
  • 이 경우 프로젝트에서 자동으로 인식해 .env 파일에서 가져온다.
${process.env.EXPO_PUBLIC_KAKAO_REST_API_KEY}
${process.env.EXPO_PUBLIC_KAKAO_REDIRECT_URI}

 

5. 혹시 모르니 gitignore 확인하기

  • gitignore에 .env가 들어있는 지 확인한다. 그래야 깃헙에 안올라가니
  • 만일 다른 사람이 env 파일이라고 주면 자신의 .env 파일에 추가한다.

+ Recent posts