firebase 연동을 위해 babel.config.js 이 필요한 상황인데, 프로젝트 파일 내에 해당 파일이 없다.
찾아보니 expo-router의 경우, Babel 구성(babel.config.js)은 Expo와 expo-router에서 내부적으로 처리된다고 한다.
(자동적으로 관리하여 사용을 편리하게 해주기 위해서라고…)
따라서, babel.config.js 설정이 필요한 경우 다음 두 가지 방식을 따라야 한다.
npx expo customize위 명령어는 Expo가 자동으로 관리하는 파일들을 직접 수정 가능하도록 꺼내주는 명령어 이다.
앞서 언급했듯, babel.config.js의 경우 expo 내부에서 자체적으로 처리하고 있기 때문에 해당 명령어를 통해 설치 가능하다.
위 명령어를 프로젝트 루트에서 실행하면 꺼내올 수 있는 여러가지 파일 목록이 뜨는데, 그 중 해당하는 파일을 꺼내오면 된다. (필자는 당연히 babel.config.js)
없다면 만들면 된다!
적절한 위치에(package.json과 동일 위치) babel.json.js를 스스로 생성해주자.
파일 내부에는 다음과 같은 내용을 입력하면 된다.
module.exports = function (api) {
api.cache(true);
return {
presets: ['babel-preset-expo'],
plugins: [
],
};
};
두 방법 모두 babel.config.js를 생성한다는 점에서 큰 차이가 없기 때문에 본인의 편의에 따라 선택하면 될 것이다.