React Native에서 환경 변수 안전하게 관리방법

2024. 11. 13. 20:32·Stack/React-Native
반응형

1) react-native-dotenv 설치

npm install react-native-dotenv

----

yarn add react-native-dotenv

2) Babel 설정 파일 업데이트

babel.config.js를 다음과 같이 수정

module.exports = function (api) {
  api.cache(true);
  return {
    presets: ['babel-preset-expo'],
    plugins: [
      [
        'module:react-native-dotenv',
        {
          moduleName: '@env',
          path: '.env',
          blocklist: null,
          allowlist: null,
          safe: false,
          allowUndefined: true,
          verbose: false,
        },
      ],
    ],
  };
};

핵심은 plugins 에 dotenv를 넣어주는것! 즉 아래 코드를 넣어주는거라고 생각하면 된다

plugins: [
      [
        'module:react-native-dotenv',
        {
          moduleName: '@env',
          path: '.env',
          blocklist: null,
          allowlist: null,
          safe: false,
          allowUndefined: true,
          verbose: false,
        },
      ],
    ],

3) .env 파일 생성

API_KEY=your_api_key_here
API_URL=https://api.example.com

4) 환경 변수 사용하기

import { API_KEY, API_URL } from '@env';

console.log(API_KEY);
console.log(API_URL);

5) .env 파일 Git에서 제외하기

.gitignore 파일에 .env를 추가한다.

.env

❗️이렇게만 하면 정상적으로 동작하는지 알았지만

내 프로젝트의 경우 TypeScript로 되어있었기 때문에 정상적으로 작동하지 않았다.

Cannot find module '@env' or its corresponding type declarations.ts(2307)

라면서 @env 에 타입이 정의되지 않았다는 오류 메세지가 발생하였다.

다음은 해당 오류 해결하는 방법이다.

 types 폴더에 env.d.ts 파일을 생성

declare module '@env' {
  export const API_KEY: string;
}

다음과 같이 내용을 만들어주면된다.

혹시라도 이렇게 했을때 결과 안된다면 VsCode를 껏다 키는것도 방법이다.

반응형

'Stack > React-Native' 카테고리의 다른 글

React-Native expo 시작하기 (새버전)  (2) 2024.11.15
React-Native 커스텀 폰트 설치하기  (1) 2024.11.14
React-Native 사용팁들 (ios simulator 닫기, Expo 앱에서 Debugger 열기, custom location 설정)  (0) 2024.11.11
React-Native Expo로 위치정보 받아오기  (0) 2024.11.10
React-Native에 View 대해 알아보기  (1) 2024.10.31
'Stack/React-Native' 카테고리의 다른 글
  • React-Native expo 시작하기 (새버전)
  • React-Native 커스텀 폰트 설치하기
  • React-Native 사용팁들 (ios simulator 닫기, Expo 앱에서 Debugger 열기, custom location 설정)
  • React-Native Expo로 위치정보 받아오기
WHITE_FROST
WHITE_FROST
개발공부리뷰블로그
    반응형
  • WHITE_FROST
    하얀하얀IT
    WHITE_FROST
  • 전체
    오늘
    어제
    • 분류 전체보기 (119)
      • Stack (43)
        • Next.js (7)
        • React (12)
        • React-Native (15)
        • TypeScript (0)
        • Python (2)
        • JavaScript (2)
        • Android (1)
        • DB (2)
        • JAVA (1)
      • Obsidian (1)
      • AI (3)
      • AI Tools (0)
      • Tools (0)
      • Mac (0)
      • Error (7)
      • 알고리즘 정리 (6)
      • 알고리즘 문제풀이 (46)
      • 공부일상 (4)
      • 개발 도구 & 라이브러리 (0)
      • 정보처리기사 (0)
      • 기타 (6)
      • Tip (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    javascript
    백준
    알고리즘
    React Hooks
    코테
    mongodb cloud
    Python
    reactnative
    Expo
    react-native-maps
    hooks
    d1
    리액트네이티브
    Next.js
    react
    React-Native cli
    boj
    java
    ReactHook
    ios
    티스토리챌린지
    react-native
    프로그래머스
    코테준비
    오블완
    코딩테스트
    D2
    SWEA
    mongoDB Atlas
    error
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
WHITE_FROST
React Native에서 환경 변수 안전하게 관리방법
상단으로

티스토리툴바