#0. 부록_expo developer tools 연결 문제

toto9602·2021년 11월 24일
0

RN + DRF 프로젝트

목록 보기
5/5

Dockerfile과 Docker-compose.yml을 다 작성해 두고 나서,
계속 해결하지 못하고 있던 문제가 바로 Expo가 정상적으로 열리지 않는 문제였다.

Docker-Compose up

명령어로 도커를 실행하면
백엔드의 Django 서버는 정상적으로 열리고,
프론트엔드의 Expo도 정상적으로 열리는 것처럼 보이는데..

QR 코드를 스캔해도 모바일에서 접속이 안 되고,
Expo Developer Tools에 접속했을 때는


Websocket connection failed : Websocket is closed before the connection is established.

이런 에러가 콘솔창에 뜨면서 까만 화면밖에 보이질 않았다.

변경된 Dockefile

FROM kerbe/expo:latest

USER root

RUN mkdir /frontend
WORKDIR /frontend

COPY ./package.json ./
COPY ./yarn.lock ./
WORKDIR /frontend/
RUN npm install 
# RUN npm install -g expo-cli

EXPOSE 19000
EXPOSE 19001
EXPOSE 19002
COPY . /frontend/

kerbe/expo : latest 도커 이미지는
문제 원인을 구글링하다가,
해당 문제를 해결했다는 분이 만드신 Docker 이미지를 가져다 쓴 것이다.

<출처>
https://github.com/expo/expo-cli/issues/1081

https://hub.docker.com/r/kerbe/expo

근데 저 이미지 가져다가 다시 build해도 같은 문제가 반복되었다.

그래서 결국 이것저것 해 보다가

192.168.0.18:19002

로 접속하니까 정상적으로 열렸던..
다소 어이없는 방식으로 해결함.

+) bundling 과정에서 에러가 나서

  1. package.json에서
    "main" : "./index.js"로 수정
    (기본으로는 node_modules/expo/AppEntry.js가 설정되어 있었다)
  2. 루트 디렉토리에서 index.js 파일을 생성하고

import { registerRootComponent } from "expo";
import App from './App';
registerRootComponent(App);

내용을 넣어주는 것으로 해결함.

출처

Expo 공식 문서

profile
주니어 백엔드 개발자입니다! 조용한 시간에 읽고 쓰는 것을 좋아합니다 :)

0개의 댓글