- react-native CLI를 이용하는 방법
- EXPO를 이용하는 방법
프로젝트의 이름은 알파벳 대소문자와 숫자만 허용한다.
설치
$ npx react-native init {파일명}
특정 버전의 react-native를 이용해서 프로젝트를 생성하고 싶으면 아래 코드를 넣어 생성할 수 있습니다.
$ npx react-native init {파일명} --version 버전이름

Expo는 다양한 기능을 제공함으로써 React Native 개발을 도와주는 도구입니다.
expo의 장점
expo는 react native에서 기본적으로 제공하지 않는 기능을 제공하면서 개발자의 편의를 도와주는 장점이 있습니다.
expo의 단점
- expo에서 제공하는 기능 외에 native 모듈을 추가로 만들어 사용하는 것이 불가능합니다.
- react native 버전이 사용하고 있는 expo 버전에서 이용하는 react native 버전으로 강제됩니다. react native에서 새 버전이 나오면서 새로운 기능이 추가되었다 하더라도 현재 사용하고 있는 expo 버전에서 해당 새로운 react native버전을 이용하지 않으면 그 기능을 이용할 수 없습니다.
expo 프로젝트를 생성하기 위해서는 expo CLI를 설치해야 합니다.
$ npm install --global expo-cli
프로젝트 생성
프로젝트 이름은 알파벳 대소문자와 골뱅이(@), 점(.), 하이픈(-), 언더바(_)를 사용할 수 있습니다.
$ expo init {파일명}
실행멍령어

expo를 실행하면 터미널에서 i를 눌러 ios를 실행하고 a를 눌러 안드로이드를 실행할 수 있습니다.

shift + i
실행 가능한 기기 목록이 나타나고 원하는 기기를 선택해서 실행할 수 있습니다.

$ expo login

epxo 로그인시 위와 같은오류가 발생했는데 node를 다운그레이드 해서 해결하였다. 아래 링크로 정리해둠!
https://velog.io/@st4889/The-legacy-expo-cli-does-not-support-Node-17.-Migrate-to-the-versioned-Expo-CLI-npx-expo
$ expo init {프로젝트명}
💥 git bash에서 진행하면 안되고 cmd에서 진행하야 한다. git bash에서 진행하면 아래와 같은 오류가 발생한다.
$ expo init it_doesnt_work
[18:04:23] Input is required, but Expo CLI is in non-interactive mode.
--template: argument is required in non-interactive mode. Valid choices are: "blank", "tabs", "bare-minimum" or any custom template (name of npm package).
cmd에서 진행하여 잘 설치되었다. expo init {파일명}을 진행하게 되면 첫번째 옵션(blank)을 선택하였다. 타입스크립트로도 선택 가능한가 보다...

설치 완료
