예전에는 웹 페이지의 헤더에 <script> 태그를 넣으면 JavaScript가 의도한대로 실행되었습니다. 요즘은 JSX와 같은 실험적인 기능들과 언어 확장에 액세스하기 위해 자바스크립트가 사전 처리됩니다.

바벨[Babel]

Babel은 JavaScript를 사전 처리하는 데 사용되는 주요 도구입니다. Babel은 실험용 기능과 확장 기능을 사용하여 광범위한 플랫폼에서 지원되는 구식 JavaScript로 컴파일 할 수있는 구성 가능한 파서입니다. 물론 네이티브 플랫폼이 Map()과 같은 ES6 기능을 지원하지 않으면 바벨은 완전히 도움을 줄 수 없지만 많은 경우 이 기능을 제공하는 API가 누락될 수 있습니다.

Babel은 컴파일된 JavaScript로 소스맵을 포함시킴으로써 원래 소스코드의 디버깅을 가능하게 합니다. 자바스크립트 인터프리터는 컴파일된 코드를 실행하지만 디버거의 소스 코드에 매핑하여(일반적으로 꽤 못생긴) 컴파일된 출력 대신 소스 코드를 디버깅할 수 있습니다.

바벨 구성

.babelrc 파일을 프로젝트의 루트 디렉토리에 포함시켜 Babel을 구성할 수 있습니다. 이 파일은 사용할 실험용 JS 기능과 사용할 플러그인 (JSX)을 지정할 수 있습니다.

React Native는 바벨을 적절히 구성하기 때문에 일반적으로 .babelrc를 만들 필요가 없습니다. 그러나 기본 사전 설정을 수정하려면 기본 구성으로 npm 패키지 babel-preset-react-native를 사용하고 위에 추가 플러그인/구성을 적용할 수 있습니다.