https://www.fullstackreact.com/articles/what-are-babel-plugins-and-presets/
vuejs 응용 프로그램을 개발하거나 반응 할 때, 개발자는 종종 서로 다른 바벨 구성 (.bablerc)을 전환 할 필요가있다. 당신은 package.json 파일에 다음 코드를 볼 수 있어야합니다 :
// package.json { "바벨" { "사전" : "es2015" , "스테이지 0" ] } }
또는 .babelrc 파일은 다음과 같은 것들을 볼 수 있습니다 :
// .babelrc { "플러그인"[ "클래스 - 변환 특성" ] }
본 논문에서는, 우리는 그가 무대-x는 우리가 바벨을 구성하는 이유, 즉 우리가 바벨 플러그인과 사전 설정을 모색 할 것입니다라고하는 것입니다 무엇이며 상기, 좋은했다.
바벨은 무엇인가?
바벨이 이유를 이해하기 위해, 우리는 자바 스크립트의 역사를 볼 필요가있다. . .
ES5, ES6, ES7
우리는 그녀가 크롬, 파이어 폭스, 사파리, 가장자리, 즉, 등등과 같은 다른 브라우저에서 실행되는 자바 스크립트는 웹 언어입니다 것을 알고있다. 다른 브라우저는이 통역 및 번역 엔진 작동에 다른 자바 스크립트 인터프리터, JS 있습니다. JS 널리 인터넷 커뮤니티, 점점 더 많은 애플리케이션을 수용하기 때문에, 다음, 표준화 된 관리 조직 JS 언어 자체에 대한 사양이있다. JS는 sepec는 ECMAScript를 또는 ES라는 다음
의 다섯 번째 판은 ES5이라고합니다. 당신은 자신의 ES5 JS 언어 버전을 상상할 수있는,이 버전은 전체 ES5를 달성하기 위해, 2009 년 현재 주요 브라우저를 확정했다.
제 6 판은 2015 년에 완성, ES6라고, 주류 브라우저의 대부분은 그 기능을 지원하지.
ES7을 기반으로 ES6는 ES7 두 개의 새로운 기능, 최신 예비 버전은 2016 년 완성 된, 더 개선했다.
미래로 JS, 우리는 바로 오늘 ES6 / ES7를 사용하기를 희망하지만, 우리는 또한 우리가 이유에 바벨을 생산할 수있는 이유는 현재 주요 브라우저에서 제대로 실행할 수 우리의 코드를합니다. ( 바벨을 제외하고, 타이프 라이터도 유사한 기능을 구현 현재 브라우저의 ES6 사양에 대한 최종 실행을 달성 할 수 있도록 코드를 ES5로 바벨 우리가 완전히 ES6 / ES7 사양 JS 코드를 작성 할 수 있습니다)하지만, 컴파일
사용 바벨
이 프로젝트에서 우리는 여러 가지 방법의 바벨에 사용할 수 있습니다. 가장 쉽고 빠른 방법은 패키지 바벨 - 독립을 사용하는 것입니다. 당신은 스크립트 태그를 통해 참조 할 수 있습니다.
< 스크립트
SRC = "https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.18.1/babel.min.js"
> </ script>
바벨의 도입 후, 바벨은 자동으로 스크립트의 유형에 대한 텍스트 / 바벨과 stranpile 있었다 것
<DIV ID = "출력"> </ DIV> <스크립트 유형 = "텍스트 / 바벨"> CONST의 getMessage = () => "안녕하세요"; // ES6! document.getElementById를 ( '출력') = innerHTML을. 의 getMessage (); </ script>
이 프로젝트는 자동으로 생성 - 반응 - 응용 프로그램 등의 기준 및 바벨을 구성합니다, 그래서 당신은 쓰기 구성 요소 0 구성을 반응 시작할 수 있습니다
바벨 플러그인 和 사전
바벨은 특히 기능,이 방법 또한 플러그인 도전을 관리하는 특히 많은 수의 bable 플러그인에 해당한다 할 플러그인. 때문에하여 다른 기능으로 변환을 할 수있는 개방형 아키텍처를 제공한다.
在 바벨 中은 미리 설정된 특정 언어 기능을 지원하기 위해 사용 된 플러그의 집합이다.
프리셋 공유 할 .babelrc의 CONFIGS하거나 바벨 플러그인의 배열입니다.
바벨 기본적으로 사용됩니다 두 개의 사전 설정이 있습니다 :
es2015 : ES2015 기능 향상 지원
반응 : 지원 JSX를
주의 사항 : 우리가 ES7의 새로운 기능을 사용하지 않기 때문에 ES2015은 ES6에 대한 또 다른 이름입니다, 우리는 ES2015 사전 설정을 사용
또한 ES7에서 JS 기능은 다른 단계에 존재할 수있다. 특징은 할 수있다 (실험 제안 여전히 사회의 몇 가지 세부 사항에 대한 지속적인 연구 (스테이지 1)입니다 실험).
실험 제안은 매우 큰 위험이 실질적으로 수정되거나 삭제 될 수 있습니다. 특징은 상태 (승인), 다음 릴리스 ( "stage4"참조) JS에 포함됩니다 비준 할 수있다
구체적 장소 :
TC39 워킹 그룹의 제안은 다음과 같은 단계로 분류됩니다 :
- 무대 0 - Strawman : 그냥 생각, 가능한 바벨 플러그인.
- 단계 1 - 제안 :이 작업 가치가있다.
- 단계 - 2 - 초안 : 초기 규격.
- 단계 - 3 - 후보 : 전체 사양 및 초기 브라우저 구현.
- 단계 - 4 - 완료 : 다음 연간 릴리스에 추가 될 것입니다.
우리가 사용하는 사전 설정 및 / 또는 플러그인 구성 바벨이나 실험의 향후 또는 기능적 특성을 가진 얼리 어답터가 될 수 있습니다.
어떤 플러그인이나 프리셋은 "안전"되어 있습니까?
바벨은 포기 또는 실질적으로 변경 될 수 있기 때문에, 같은 초기 단계-3와 같은 기능을하는 사람들에 대한 경고를 할 것입니다. 당신이 교육에서 작동 특히 경우 폐기 될 가능성이있다, 그것은 이러한 기능을 가르 칠하지 않는 것이 좋습니다
바벨 플러그인 및 사전 설정을 사용하는 방법
바벨을 구성하는 두 가지 방법이 있습니다.
- package.json 파일에서
당신은 규정 된 사전 설정 및 플러그인 목록에 해당로서 다음 package.json 문서를 발견했습니다 :
// package.json { "바벨"{ // "바벨"에서 중첩의 구성 "사전" : "es2015" , "반응" , "단계 3" , "플러그인"[ "클래스 - 변환 특성 " ] } }
2..babelrc
// .babelrc { "사전" : "es2015" , "반응" , "단계 3" , "플러그인"[ "클래스 - 변환 특성" ] }
일반적으로 더 .babelrc으로 바벨을 구성하는 방법을 권장